hcjy97   2년 전

테스트 케이스 4번을 통과하지 못하고 있습니다.

지금까지 디버깅하면서 확인한 부분은 다음과 같습니다.

- 파이어볼이 2개 이상인 경우 각각의 파이어볼의 방향을 홀/짝으로 구분해서 새로운 방향을 결정하기

- 파이어볼의 질량의 합 / 5가 0이 아닌 경우에만 새로운 파이어볼 만들기

- 새로운 파이어볼을 만들기 전에 칸을 비워주기 (21번째 줄에서 popleft()를 사용해서 기존 파이어볼을 아예 꺼내기 때문에 while문 종료 후에는 칸이 비게 됨)

- 파이어볼을 이동시킬 때 좌표를 결정하는 부분 확인 (1과 n이 이어져 있는 부분)

제가 어떤 로직을 빠트려서 4번 테스트케이스를 통과하지 못하는지 궁금합니다. 정답은 9인데 제 코드로는 14가 나오네요..

hcjy97   2년 전

자문자답입니다.

이유는 알 수 없으나 파이어볼을 움직일 때

for y, x in fireExist:
    while field[y][x]:

이런 식으로 움직이는 부분이 문제였습니다.

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