소수 찾기

송준희·2021년 1월 16일
0

알고리즘

목록 보기
17/44

소수를 찾는 것은 어렵지 않았다.

하지만 처음 시도에 효율성 부분에서 실패했다.

입력받은 n을 1부터 n까지 나눴을 때 나머지가 0인 개수가 2개라면

이때는 n이 소수다.

이 방법으로 소수를 찾았는데 1부터 n까지 수행할 필요가 없었다.


예를 들어 121이 소수인지 찾기 위해서는

3부터 121의 루트값인 11까지만 나눠줘도 충분하다.

또한 2를 제외한 모든 수는 소수가 아니므로

홀수값에 대해 소수인지 확인하려면 3부터 2씩 추가한 홀수로만 확인하면

확인하는 기능을 확연히 줄일 수 있다.

문제풀이


이미 풀어봤던 문제에 대해 더 효율적으로 푸는 방법을 고민하는 과정에서

내 실력이 조금씩 더 높아지는 것 같다.

이런 문제들을 풀면서 내가 이때까지 더 효율적인 방법이 있는데

그렇게 하지 않은 부분들이 있을까? 라는 고민을 한다.

profile
오늘 달리면 내일 걸을 수 있다!

0개의 댓글