입력의 마지막 줄에도 개행이 들어옵니다.
즉, 입력이
"8\n20\n42\n6\n12\n28\n52\n124\n999998\n0" 처럼 들어오는 것이 아니라
"8\n20\n42\n6\n12\n28\n52\n124\n999998\n0\n" 처럼 들어옵니다.
이 상태에서 split('\n')을 하면
['8', '20', '42', '6', '12', '28', '52', '124', '999998', '0', ''] 이 되고,
input.pop()을 시행해도 마지막 0이 남게 됩니다.
['8', '20', '42', '6', '12', '28', '52', '124', '999998', '0']
데이터 오류는 아닙니다.
원래 마지막 줄도 개행으로 끝나는 것이 정상적인 데이터입니다.
P.S. 에라토스테네스의 체 구현이 약간 잘못되었습니다.
현재 구현 상으로는 4 역시 소수로 판별하고 있습니다.
tommy1003 3년 전
문제에 나와있는 반례는 기본이고
8 = 3 + 5
20 = 3 + 17
42 = 5 + 37
6 = 3 + 3
12 = 5 + 7
28 = 5 + 23
52 = 5 + 47
124 = 11 + 113
999998 = 19 + 999979
등등... 반례 모두 통과하는데 틀렸습니다. 받았습니다. ㅠㅠ 원인이 뭘까요