문제 링크 : https://www.acmicpc.net/problem/2667


단지의 개수와 각 단지별 집의 개수를 출력하는 문제입니다.


DFS로 각 단지의 개수를 세주면 됩니다.


한번 방문한 집은 또 방문할 일이 없기 때문에 일반적으로 사용하는 visited 배열을 쓰지 않고


대신 arr 값을 1에서 0으로 바꿔주면서 DFS를 반복했습니다.


DFS를 한번 돌 때마다 단지 하나가 전부 0 이 됩니다.


그러므로 main에서 DFS를 한번 접근 할 때마다 카운트하여 단지 수를 저장하면 됩니다.


단지별 집의 개수는 오름차순으로 출력하기 때문에 바로바로 출력하지 말고 따로 저장해야합니다.


ArrayList에 담은 후에 Collections.sort 를 사용하여 정렬을 해도 되지만


저는 우선순위큐를 사용하여 오름차순으로 출력하였습니다.


'알고리즘 문제 > 백준' 카테고리의 다른 글

백준 1838번. 버블 정렬 (Java)  (0) 2019.01.16
백준 1074번. Z (Java)  (4) 2019.01.13
백준 1302번. 베스트셀러 (Java)  (0) 2019.01.10
백준 1057번. 토너먼트 (Java)  (0) 2019.01.09
백준 2026번. 소풍 (Java)  (0) 2019.01.09

+ Recent posts