sdj1541   2년 전

세가지 수를 뽑아서 더한 값을 리스트에 넣어서 M값보다 크면 리스트 내에서 삭제시키고 최대값을 프린트하도록 했는데, 이상한 부분이 있어 질문합니다. 예시로 밑에 코드를 실행하면 [18, 19, 20, 21]이 나와야 한다고 생각했는데, 

[18, 19, 20, 21, 23]이 나옵니다. 23은 왜 안 사라지는지 알려주세요..

djm03178   2년 전

list를 iterate하는 도중 원소를 지우면 그 이후의 원소가 모두 앞으로 한 칸씩 당겨지게 됩니다. 그래서 인덱스상으로 하나를 건넜을 뿐인데, 원래 그 위치에 있어야 할 원소가 앞으로 한 칸 당겨졌기 때문에 건너뛰고 그 다음 원소를 보게 됩니다.

https://thispointer.com/python... 를 참고하세요.

sdj1541   2년 전

아! 정말 그렇네요.. 그 점을 간과하고 있었습니다. 감사합니다!!

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