목록백준 (31)
개발 무지렁이

계단 오르기 🪅. dp(동적 프로그래밍)을 구현할 줄 아느냐 => '메모이제이션**' 🪅. 문제의 조건에 맞는 정확한 '점화식'을 세울 수 있느냐 => 1일때부터 조건에 맞는 답을 구해본다. 🪅. 점화식을 만들기 위해 1부터 몇 개까지 값에 대한 정의를 해야하는지 알 수 있는가? => 몇개부터가 이전의 기록으로 해결할 수 있는가를 본다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class B2579_계단오르기 { static int N; static int[] steps; static int[] ..

종이의 개수 🪅. 재귀를 이용해서 분할할 수 있는가 => 파라미터로 '시작좌표', 'size' 필요 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B1780_종이의개수 { static int N; static int[][] arr2d; static int cntM1; static int cnt0; static int cnt1; public static boolean checkValid(int x, int y, int size) { int std = arr2d[x][y]; fo..

부분수열의 합 🪅 조건을 만족하는 모든 경우의 수를 구하는 문제에서 완전탐색을 생각할 수 있는가 🪅 부분집합 알고리즘을 구현할 수 있는가 🪅 flag를 이용해서 조건을 추가로 설정할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[] arr; static int N; static int S; static int cnt; static boolean[] isSelected; public static void subset(int r) { // 종료조건 if(r == N..

트리의 부모 찾기 🪅 에지리스트를 인접리스트로 구현할 수 있는가 🪅 인접리스트를 루트부터 탐색해가며 parent배열을 완성할 수 있는가 🪅 DFS를 구현할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.StringTokenizer; public class Main { static List[] tree; static boolean[] isVisited; static int[] parent; public static..

트리 🪅 parent배열을 보고 인접리스트를 구현할 수 있는가 (루트노드 지정) 🪅 트리를 인접리스트로 구현할 수 있는가 🪅 트리의 일부분을 잘라낼 수 있는가 => remove(int index)와 remove(Object obj)의 차이를 알고 있는가 🪅 Leaf Node의 특징을 알고 있는가 => tree[node].size() == 0 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; /** * 백준 1068번 트리 * 입력: * 첫째..

순열 🪅 매 반복마다, 다음 반복에 영향을 주지 않게 초기화를 잘 하였는가 🪅 입력을 받지 못했을 때, NullPointException을 띄우지 않고 프로그램을 올바르게 종료시킬 수 있는가 🪅 순열을 구현할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /** * 백준 9742번 순열 * 입력: * 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. * 첫 번째 문자열은 서로 다른 숫자와 알파벳으로 이루어져 있으며, 길이는 최대 10이다. 또한, 사전순 순서대로 주어진다...