CODING119 [BEAKJOON] 7576번 토마토 1(익은 토마토)인 위치에서 하루가 지날 때마다 맞닿은 부분(0)이 1로 변경된다. 내 주변 탐색 후 변경하는 과정을 반복해야 한다. 너비우선탐색 문제 유형으로 큐에 삽입하여 과정을 하나씩 따라가본다. 1(익은 토마토)의 위치가 여러 개일 경우는? 큐에 전부 넣어서 해결한다. 하루가 지날 때마다 큐에 저장된 모든 경로를 따라가 0을 1로 바꾼다! import java.util.*; import java.io.*; public class Main { static int N, M; static int dx[] = {1,-1,0,0}; static int dy[] = {0,0,1,-1}; static String arr[][]; static Queue queue = new LinkedList(); static.. 2022. 3. 5. [BAEKJOON] 2178번 미로 탐색 시작점에서부터 (N,M) 위치까지 너비우선탐색 방법으로 갈 수 있는 경로라면 나아간다. 나아가면서 현재 위치까지의 경로+1씩 저장한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static String map[][]; static int N, M; static int new_x, new_y; static int cnt; static int visited[][]; static int[] di =.. 2022. 3. 2. [BAEKJOON] 1748번 수 이어 쓰기 1 예를 들어 123이라면 1의 자리가 있는 수는 1부터 123까지이다. 따라서 1의 자리가 있는 수는 (123-1+1)개이다. 10의 자리가 있는 수는 10부터 123까지이다. 개수는 (123-10+1) 이다. 100의 자리가 있는 수는 100부터 123까지이다. 개수는 (123-100+1) 이다. 위의 과정을 N의 자릿수 만큼 반복한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(Strin.. 2022. 2. 14. [BAEKJOON] 1026번 보물 A 배열은 오름차순, B 배열은 내림차순으로 정렬했을 때의 같은 위치의 인자를 곱해야 합계가 최소값이 된다. 아래 코드를 보면 int형 a[], Integer형 b[] 배열로 선언했다. 내림차순으로 배열을 정렬하기 위해서는 배열을 정렬한 후, 역순으로 List를 재정렬하는 Collections.reverseOrder()를 사용해야 하는데 b배열을 int형으로 선언했을 시에는 Arrays.sort(b, Collections.reverseOrder());와 같이 인식되지 못하는 오류가 발생했다. https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/util/Arrays.html https://docs.oracle.com/en/java/javas.. 2022. 2. 11. [BAEKJOON] 1120번 문자열 긴 문자열과 짧은 문자열의 차이만큼 반복하며 긴 문자열과 짧은 문자열을 비교한다. 짧은 문자열의 부족한 문자는 긴 문자열과 같다고 가정한다. 긴 문자열을 기준으로 짧은 문자열을 이동시키며 문자를 비교한다. 비교할 때 문자가 서로 다르다면 count 변수를 증가시켜 매 케이스마다 최소값을 가려낸다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedRea.. 2022. 2. 9. [BAEKJOON] 11047번 동전 0 정해진 동전의 가치로 주어진 금액을 만들 수 있는 경우의 수 중 동전을 최소한으로 사용한 경우를 찾아야 한다. 주어진 금액과 동전의 가치가 같거나 작은 것으로 구성될 것이다. 동전의 가치가 높은 것부터 차례대로 주어진 금액과 비교한다. 현재 금액을 몇 개의 동전으로 만들 수 있는지 찾는다. 현재 금액을 동전의 가치로 나눈 몫이 동전의 개수일 것이다. 이때 동전의 개수는 반복문을 빠져나올 때까지 계속해서 누적시킨다. 다음 비교할 동전을 위해 현재 금액에서 이전 동전으로 만들 수 있는 금액을 빼준다. 가치가 낮은 동전을 사용할 때까지 반복하면 누적 동전 개수를 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.Inp.. 2022. 2. 8. 이전 1 ··· 11 12 13 14 15 16 17 ··· 20 다음