9020번 - 골드바흐의 추측
아직 시간초과는 확인되지 않았고
idle에서는 잘 돌아가는데 백준에서 런타임오류가 걸립니다.
이틀 째 6시간 넘게 작업 중인데 이렇게 저렇게 머리를 굴려도 모르겠습니다 ㅠ.
부디 뭐가 문제인지 알려주시면 감사하겠습니다.
아이디어는 n을 input받아서 n//2을
range(0,10000)인 소수 리스트에 넣고 정렬한 다음
for i in range(중간값 인덱스, 0, -1)로 소수 리스트의 중간값인덱스부터 내림차로 돌리면서
뻴셈의 차도 소수면 대소 비교 후 print(a-i, i)꼴로 출력하는 방식입니다.
런타임 오류가 나는 이유는 While True 문을 사용해 더 받을 input이 없는데도 계속 input을 요구하는 것이 문제입니다.
Test Case의 갯수 T가 주어지고, T개 만큼의 입력을 추가로 받고 나면 더 이상 입력을 받아선 안됩니다.
While True: 부분을
T = int(input())
for _ in range(T):
로 대체한다면 런타임 에러를 피할 수 있습니다.
아, 이해했습니다. 조건 하나 잘못 이해했네요. 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
walabi 2년 전
아직 시간초과는 확인되지 않았고
idle에서는 잘 돌아가는데 백준에서 런타임오류가 걸립니다.
이틀 째 6시간 넘게 작업 중인데 이렇게 저렇게 머리를 굴려도 모르겠습니다 ㅠ.
부디 뭐가 문제인지 알려주시면 감사하겠습니다.
아이디어는 n을 input받아서 n//2을
range(0,10000)인 소수 리스트에 넣고 정렬한 다음
for i in range(중간값 인덱스, 0, -1)로 소수 리스트의 중간값인덱스부터 내림차로 돌리면서
뻴셈의 차도 소수면 대소 비교 후 print(a-i, i)꼴로 출력하는 방식입니다.