관리 메뉴

ChangHoon's IT Blog

[Programmers]소수 찾기 본문

프로그래머스

[Programmers]소수 찾기

Hoonss 2020. 1. 14. 23:10

문제 설명

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.

소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)

제한 조건

  • n은 2이상 1000000이하의 자연수입니다.

입출력 예

nresult

10 4
5 3

입출력 예 설명

입출력 예 #1
1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환

입출력 예 #2
1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환

 

class Solution{
	public int solution(int n){
    	int result = 1;	//n이 2일때 소수의 갯수는 1개이므로 1을 고정값으로 갖고 시작
        
        start:
        for(int i=3; i<=n; i++)
        {
        	for(int j=2; j<=Math.sqrt(i); j++)
            {
            	if(i%j==0)
                continue start;
            }
            result++;
        }
        return result;
    }
}
Comments