소수관련 문제였다.
4보다 큰 수는 반드시 소수 2개의 합으로 표현된다는 것이 골드바하의 추측이라고 한다.
이러한 수는
n = a + b 로 표현가능한데, 여러개의 답이 나올 수 있으므로 b - a가 최대인 것을 찾으라는 것이다.
수행시간이 깡패적으로 많이 나온 방법을 택했는데, 그래도 모두 테스트케이스 당 1초안에 문제를 풀어내었다.
소수에 대한 데이터베이스를 만들어서 답을 만드는 방법이었다.
1) 1~n까지, 소수를 만들어 줬따.
2) 답은 b - a가 최대인 값이라고 했으므로
a는 소수모임의 처음부터 for문을 돌고,
b는 소수모임의 끝에서부터 for문을 돌았다.
답이 나오면 바로 종료하게끔 해주기 위한 것이었다.
이 문제를 통해서 소수를 만드는 방법에 대해서 좀 더 정확하게 구현하고 알게 된 것 같다.
'알고리즘문제풀이' 카테고리의 다른 글
더블릿_ISBN (0) | 2015.04.18 |
---|---|
더블릿_오 목 (0) | 2015.04.18 |
더블릿_색종이 올려놓기 (0) | 2015.04.17 |
더블릿_dna결합 (0) | 2015.04.15 |
더블릿_팔씨름운동회 (0) | 2015.04.14 |