코드: 집 찾기 (BFS 또 등장)
알고리즘 흐름:
- 아직 안 본 빈 자리를 찾는다.
- 거기서 BFS로 연결된 모든 빈 자리를 모은다 (이게 한 "영역").
- BFS 도중 만나는 돌은
border_colorsset에 색깔 기록. - BFS 끝났을 때
border_colors가 한 색만 있으면 그 색의 집. 두 색이면 중립.
그룹 찾기(Ch 3)와 매우 비슷하지만, 이번엔 빈 자리를 묶고, BFS 도중 만난 돌은 묶지 않고 색만 기록.
💡 알고리즘 패턴이 반복된다
이게 그래프 탐색의 위력. 한 번 BFS를 익히면 "연결된 무엇을 묶는 모든 문제"에 쓸 수 있어. 그룹 찾기, 집 찾기, 그리고 PART 3의 MCTS 트리 탐색까지 — 결국 다 그래프 탐색이야.
PYTHON