프로그래머스 | 소수 찾기 (Java)

mul·2023년 1월 31일
0

코딩테스트연습

목록 보기
3/56

🔒 문제

프로그래머스 Lv.1 소수 찾기

🔑 해결

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수 solution을 작성하는 문제이다.

for문을 통해 2부터 n까지 소수가 있는지 확인하고 있다면 answer를 1 증가시킨다.

  1. 2부터 n까지 for문을 돌린다.
  2. 소수인지를 판별하는 isPrime함수를 만들어 true면 answer++
  3. isPrime 함수는 num의 제곱근까지 for문을 돌려, num이 나누어 떨어진다면 false를 return.
  4. 아무 것도 나누어 떨어지지 않으면, 1과 자신만을 약수로 갖는 소수이므로 true를 return.

🔓 코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for (int i = 2; i <= n; i++) {
            if (isPrime(i)) answer++;
        }
        return answer;
    }
    
    public boolean isPrime(int num) {
        for (int i = 2; i * i <= num; i++) {
            if (num % i == 0) return false;
        }
        return true;
    }
}

0개의 댓글