chkswlsl   2년 전

파이썬 공부를 시작한지 얼마 안 된 초보 아저씨입니다...

틀린 답이 나오는건 알겠는데... 어느 부분이 틀린걸까요.

머리도 잘 안굴러가고 다른분들 코드를 봐도 저랑 푸는 방식도 좀 다른것 같고


제 코드를 중간중간 뜯어봐도 왜 이렇게 틀린과정이 나오는지 이해가 안갑니다 ㅠㅠ

틀린부분 지적 부탁드리겠습니다 ㅠㅠ

krlittle   2년 전

아래와 같은 테스트 케이스에서 오답이 출력됩니다.

1 예외처리부분에서 문제가 있는 것 같습니다.

doggydeok2   2년 전


12 line의 for문으로 numbers 배열을 순회할 때는 인덱스를 기준으로 돌아갑니다.

15 line의 remove를 통해 배열의 요소를 하나 제거하면, 그 이후의 요소들은 모두 인덱스가 하나씩 당겨집니다.

이로 인해 탐색하지 못하고 누락된 요소들이 등장하고, 여기서 오답이 발생합니다.

반례를 하나 드립니다.

작성하신 코드에 따르면 12 line의 반복문은 2 - 3 - 5 - 4 - 7 - 8 의 순서로 순회하게 됩니다.

4를 삭제하는 과정에서 6이 4의 인덱스에 자리잡게 되고, for문은 그 다음 인덱스부터 순회를 이어가기 때문에 6이 제거되지 않습니다.

chkswlsl   2년 전

위에 1로만 구성된 반례도 그렇고

아래 remove로 제거할경우 인덱스값들이 당겨지는것도 처음알았네요(제가 고민하던 부분이 여기였습니다)

많은 공부가 되었습니다. 정확하고 자세한 설명 감사드립니다.

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