코딩테스트
-
[프로그래머스] 카카오 프렌즈 컬러링북코딩테스트 2022. 1. 28. 21:46
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1829?language=java 풀이 DFS를 이용하면 되는 문제였다. BFS 대신 DFS를 사용하는 이유는 재귀 호출을 통해 면적 합계를 구하기 용이하기 때문이다. 기존 좌표의 상하좌우에 해당하는 새로운 좌표를 구한 뒤, visit이 가능한 조건(배열 범위, 이미 방문했는지 여부, 같은 색깔)을 만족하는지를 확인하여 dfs() 메서드를 재귀 호출하면 된다. 그러면 한 영역에 속하는 점 하나를 골라 dfs()를 호출하면 해당 영역의 모든 점들을 visit하여 총 면적을 구할 수 있다. import java.util.ArrayList; import java.util.Collections; import j..