kangsy763   4년 전

문제 풀면서도 시간초과가 나올 것 같다는 생각은 했는데 역시나 시간초과가 나와버렸네요.. 

box 를 한 번 훑어서 1들을 queue 에다가 집어넣고 그 주위에 0인것들을 1로 바꿉니다. 그리고 바꾸고 난 후의 1들의 숫자들을 cnt 해서

이전에 돌았을 때의 cnt와 비교해서 같다면 -1이 나오게 했습니다. 그렇게 반복하다가 box를 모두 체크햇는데 0이없으면 그 때의 day를 출력하는 식입니다. 

시간초과가 결국 떠버렸네요... 좋은 해결방안이 있을까요 ?  이 코드는 bfs 함수 내의 for문 2중으로 돌리는 부분 떄문에 시간초과가 나는 것 같은데요..

kangsy763   4년 전

자문 자답합니다. 16~22 번 줄을 넣은 이유는 1의 위치가 어디있는지 파악하기 위함이었습니다. 

그런데, 애초에 입력을 받을 때에 1일 때에 바로 push를 해주면 되는 거였습니다.... 그것과 더불어 코드 이것저것 고쳤더니 통과했습니다. 

댓글을 작성하려면 로그인해야 합니다.