lazarus0320   1년 전

아래는 정답으로 제출된 코드입니다.

그전에 계속 인덱스 에러가 났었는데 아래 조건문을 이렇게 작성했었습니다.

if not visited[i] and 0 <= i <= MAX:

작은 값을 입력하면 값이 잘 나오는데, 큰 값을 넣으면 인덱스 에러가 발생했습니다.

그래서 혹시나 해서 앞 뒤 순서를 바꾸니까 정답 처리가 되더라고요. 어떤 게 문제인 걸까요?

chldn323   1년 전

파이썬은 if a and b 일 때 a가 false이면 b를 계산하지 않습니다.

여기서 i는 q-1, q+1, 2*q 중에 하나이고 visitied[i]부분이 먼저 오면 인덱스를 벗어나면서 에러가 발생할 수 있지만, 0<=i<=Max가 먼저 오면 에러가 발생하지 않을 때만 visited[i]를 계산하기 때문에 문제가 생기지 않습니다.

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