ssw3095   4년 전

코드를 제출하면 틀렸습니다! 가 뜹니다. 문제의 조건대로 20개마다 끊어서 출력도 했습니다. 하지만 문제의 상황에 맞게 입력값을 달리해서 아무리 넣어봐도 반례를 못찾겠습니다.  구글에서 제가 생각치 못한 반례를 찾아보려고 해도 반례찾기가 어렵네요..ㅠㅠ

혹시 반례좀 들어주실수 있으신가요?

wjsqjawns   4년 전

어... 문제에서 제시된 예제에 대한 답도 다르게 나옵니다만...

wjsqjawns   4년 전

파이썬에서 L이라는 리스트가 있을 때,

L[n]은 다음과 같은 의미를 가집니다.

  1. n이 0 혹은 양수일 때 → '리스트 L의 맨 앞에서부터 (n+1)번째 항목'        (단, n이 리스트 L의 항목 수보다 크거나 같으면 인덱스 에러가 발생)
  2. n이 음수일 때 → '리스트 L의 맨 뒤에서부터 -n번째 항목'         (단, -n이 리스트 L의 항목 수보다 크면 인덱스 에러가 발생)

올려주신 코드의 24번째 줄이 문제가 되어 제대로 된 답이 나오지 않았습니다.

작성자님의 의도는, n_s-1±count_a가 리스트의 양끝을 벗어나면 인덱스 에러가 발생하여 while문을 벗어나게 하는 것이었다고 생각됩니다만,

실제로 저 조건문이 error를 발생시키는 건 오른쪽 끝을 벗어났을 때 뿐입니다.

파이썬에서의 인덱스는 음수도 의미를 가지니까요.

이것만 따로 처리해주시면 정답 처리가 됩니다.

ssw3095   4년 전

그렇군요.. 감사합니다!! 왜 이생각을 못했을까요..ㅠㅠ

말씀 해 주신 것을 토대로  try구문을 아래와 같이 수정하였습니다.

try >>>> if 0<= n_s-1+count_a < N and 0<= n_s-1-count_a < N: 

다시한번 감사드립니다!

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