🔗카카오 프렌즈 컬러링북import java.util.*;class Solution { public int[] solution(int m, int n, int[][] picture) { // 방문 체크 배열 boolean[][] visited = new boolean[m][n]; int[] result = new int[2]; // 결과 저장 [영역 수, 최대 영역 크기] // 모든 좌표 탐색 for (int i = 0; i queue = new LinkedList(); queue.offer(new int[]{cx, cy}); visited[cx][cy] = true; int[] dx = {1, ..
문제 *문제링크 H 행 W 열 세로로 N 칸 또는 가로로 M칸 이상 비우고 앉아야함 다른 모든 참가자와 세로줄 차가 N보다 크거나 가로준 차가 M보다 큰 곳에만 입력 : H W N M 출력 : 최대 몇 명 수용? 풀이 최대로 수용하기 위해서는 나란히 앉아야 한다. 즉, (가로 앉은 인원 수) * (세로 앉은 인원 수)를 구하면 된다. 앉고 나서 N, M 만큼 띄어 앉으므로 N+1, M+1칸에 다음 사람이 앉을 수 있다. 가로 앉은 인원수 = H/(N+1) 이때 정수가 나오게 하기 위해 내림을 적용하여 (int)ceil(H/(N+1)) 세로 앉은 인원수 = W/(M+1) 세로도 내림을 적용하여 (int)ceil(W/(M+1)) import java.io.BufferedReader; import java.i..