백준 토마토 [7576] 파이썬(Python) 코드 + 해설
문제 설명철수의 토마토 농장에서는 M x N 크기의 격자 모양 상자에 토마토를 보관한다. 토마토 중에는 익은 토마토(1)도 있고, 익지 않은 토마토(0)도 있으며, 토마토가 들어있지 않은 칸(-1)도 있다. 익은 토마토는 하루가 지나면 인접한 네 방향(상, 하, 좌, 우)에 있는 익지 않은 토마토를 익게 만든다. 이때, 상자에 있는 모든 토마토가 며칠이 지나면 다 익는지, 그 최소 일수를 구하는 프로그램을 작성한다. 단, 처음부터 모든 토마토가 익어있으면 0을 출력하고, 모두 익지 못하는 상황이면 -1을 출력해야 한다.문제 해결 방법이 문제는 BFS(너비 우선 탐색)를 이용해 해결할 수 있다. BFS는 그래프의 모든 인접 노드를 방문하며 탐색하는 방법으로, 여러 단계에 걸쳐 확산되는 문제를 해결하는 데 ..
2024. 11. 10.