목록분류 전체보기 (73)
delpho

Think 1. 답을 구하는 방법을 고민하다가 나온 결론은, (O의 위치까지 가는 경로의 수) * ([N-1][M-1]의 위치까지 가는 경로의 수) (= 조합) 2. 경로의 수를 구하는 방법을 고민했는데, https://blog.naver.com/occidere/221012382627 의 내용처럼 구하는 방법을 떠올리게 되었음 3. 따라서, previousK(), nextK()로 함수를 나눈 뒤, 경우의 수 두 개를 구한 후 답을 도출함. 4. K = 0일때 혹은 K % M = 0 일때의 경우들에서 예외 처리를 잘 해주어야했음. 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; ..
Think 1. 분할정복을 위한 재귀를 만들기 위해서는 기본적으로 매개변수에 [시작Index]와 [size]가 꼭 필요함. 2. 먼저, 전체 사이즈만큼의 2차원 배열을 모두 탐색하면서 해당 크기의 색종이가 모두 파란색인지, 흰색인지 체크 (만약 맞다면 해당 색을 카운트하는 변수 + 1 해주기) 3. 색이 섞여있다면, 4개의 색종이로 분할해준다 (4개의 재귀를 탄다.) 4. (2,3 반복) 하여 값을 도출 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class test { static int N, map[][], white, b..
Think 1. 컬렉션에 있는 우선순위 큐를 사용할 수 있으면 풀 수 있는 문제다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class test { static int N; static PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringBuilder sb = new StringBuilder(); pub..

Think 1. 기초 BFS 문제다. 2. 하루씩 익은 토마토들이 주변 토마토들에게 영향을 끼쳐서 익게 만드려면, 아래 그림처럼 애초에 큐에 넣어놓고 poll 하면서 풀면 된다. (토마토 클래스를 정의해서 얼마나 지났는지 따로 관리해주자) 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 test { static int N, M; static Tomato[][] map; static boolean[][] isVis..