ikarus101   3년 전

일단 문제는 맞혔습니다.

아래 코드를 맞았던 코드와 틀렸던 코드를 둘 다 올렸습니다.

두 코드의 차이점은

라인 33과 라인 73에서,

cnt -= 1을 한 뒤에 큐에 (cnt, nx, ny)를 넣어주느냐,

아니면 바로 큐에 (cnt-1, nx, ny)를 넣어주느냐의 차이밖에 나지 않습니다.

그리고 그 차이가 "틀렸습니다" 와 "맞았습니다"를 판가름합니다.

실제로,

5 5
00000
11101
00000
01111
00010

을 넣어보면 두 코드의 답은 다르게 나옵니다.

(틀렸습니다 코드 -> -1, 맞았습니다 코드 -> 9)


문제는,

두 개의 차이가 대체 뭔지 모르겠습니다.

cnt-1을 바로 넣어주나, cnt -= 1을 하고 cnt를 넣어주나 차이가 없지 않나요?

아무리 찍어봐도 cnt -= 1을 하고 나서도 0이 들어가는데....

이게... 대체.... 왜 그런걸까요....ㅠㅠ

ikarus101   3년 전

질문 올리자마자 뭐가 문제인지 알았습니다.

cnt -= 1을 하면 for i in range(4) 문 안에서 cnt가 쭉 0으로 남는군요.

이런 기본적인 걸 떠올리지 못하다니,

역시 새벽의 힘은 대단합니다.

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