Tomato

문제 복기

틀린 이유(틀린 부분)

익은 토마토가 도달하지 못하는 부분이 있다면 -1을 출력해야하는데 이 부분을 처리하지 못?안 했다.

거리를 저장하는 배열에서 익은 토마토의 좌표는 '0'으로 할 것이기 때문에 기본 디폴트값은 -1로 초기화해준다!

상,하,좌,우로 BFS를 탐색할 때에도, 거리 배열 값이 초기화값인 '-1'일 때만 탐색하도록 해준다! => 익은 토마토(dist:0), 안익은 토마토(dist:-1)

잘 한 것 같은데 정답과 다른 부분

  1. 안 익은 토마토가 2개 이상일 때, 한 좌표에 서로 다른 토마토로부터 서로 다른 시간이 걸릴 수 있다. 이 때 이 중에서 최솟값을 거리로 저장해야한다. 그런데 왜 정답 소스코드에는 이러한 부분을 처리하지 않았을까!?

  2. bfs 함수를 구현하지 않고 메인 함수내에서 큐 생성하고, 2차원배열을 입력받으면서 거리 배열 초기화, 큐에 추가, 거리 배열 값 지정 등을 해주었다! => 함수를 구현해서 호출, 실행하면 매개변수로 전달해줘야하지만 메인 함수 내에서 구현을 다 해버리니까 그럴 필요가 없어 편리하게 느껴졌다.

Last updated