본문 바로가기
Computer/Algorithm_Java

[Programmers] 소수 만들기 (Success)

by HJ0216 2023. 9. 18.
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

Language: Java

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution {
    static int answer = 0;
 
    public int solution(int[] nums) {
        // 1. 3개의 수를 더했을 때 소수가 되는 경우의 개수
 
        for(int i=0; i<nums.length-2; i++) {
            for(int j=i+1; j<nums.length-1; j++) {
                for(int k=j+1; k<nums.length; k++) {
                    int sum = nums[i] + nums[j] + nums[k];
                    isPrime(sum);
                }
            }
        }
 
        return answer;
    }
 
    public static void isPrime(int i) {
        for(int j = 2; j<=(int) Math.sqrt(i); j++) {
            if(i%j==0return;
        }
        answer++;
    }
}
 
 

🤔 해설

1. for(int j = 2; j<=(int) Math.sqrt(i); j++) { ... }

   - 약수는 대칭 관계를 갖으므로 제곱근까지만 소수 확인

 

 

 

🔗 소스 코드
GitHub