[백준] 2667. 단지번호붙이기
2020. 9. 10. 22:58
https://www.acmicpc.net/problem/2667
2667번: 단지번호붙이기
<그림 1>과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. �
www.acmicpc.net
복습 겸 다시 풀어본 bfs 문제였습니다.
그래프 문제로서 기본적으로
- 그래프 배열
- boolean 배열
- 그래프의 상하좌우 방향지시 배열
- 그래프의 유효한 좌표값 판별 함수
이 정도 기본 적으로 생각하고 더 필요한 부분 추가해서 구현합니다.
main 함수에서 그래프의 값이 0이 아니면 해당 좌표부터 bfs를 돌립니다. 이 때, ++idx 값을 매개변수로 주어 단지번호를 masking 해줍니다.
그리고 bfs는 각 단지내의 집의 개수를 return 해주며, 이를 메인함수에서 ArrayList에 저장한 뒤 Collection을 통해 정렬 하면 구현은 끝이 납니다.
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준] 2460. 지능형 기차 2 (0) | 2020.09.15 |
---|---|
[백준] 10162. 전자레인지 (0) | 2020.09.11 |
[백준 복습] 2179. 미로 탐색 (0) | 2020.09.06 |
[백준] 1260. DFS와 BFS(복습) (0) | 2020.09.05 |
[ 백준] 10819. 차이를 최대로 (0) | 2020.08.29 |