문제가 너무 쉽다 했습니다.
앞서와 같이 해결할 경우, 이중 for문의 경우의 수가 기하급수적으로 증가해 시간 초과가 나게 됩니다.
'에라토스테네스의 체'에 대한사전 지식이 필요한데,,
숫자 하나하나에 대해 1~해당 숫자까지 모두 나누어보는 것이 아니라
말 그대로 체로 거르듯이 소수가 아닌 수들을 빼 줍니다.
따라서 2의 배수, 3의 배수, ..... 을 제거해줌으로써 경우의 수를 기하급수적으로 줄여줄 수 있습니다.
저는 위 이론을 직관적으로 적용해
해당 범위만큼 배열을 만들어 모든 수들을 소수라고 가정한 후,
각 배수들을 체로 걸러주었습니다.
'백준 알고리즘(Java)' 카테고리의 다른 글
1874번) 수열 (0) | 2019.04.15 |
---|---|
9012번) 괄호 (0) | 2018.12.15 |
10828번) 스택 (0) | 2018.08.30 |
1978번) 소수 찾기 (0) | 2018.08.20 |
1181번) 단어 정렬 (0) | 2018.08.20 |