[프로그래머스] L2 소수 만들기
[풀이]
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
27
28
29
30
31
|
class Solution {
static int answer = 0;
static boolean[] primeN= new boolean[3001];
static boolean[] chk = new boolean[3001];
public int solution(int[] nums) {
solve(0,0,0,nums);
return answer;
}
static void solve(int idx, int sum, int cnt, int[] nums){
for(int i=0; i<nums.length; i++){
for(int j=i+1; j<nums.length; j++){
for(int k=j+1; k<nums.length; k++){
int n = nums[i] + nums[j] + nums[k];
if(isPrime(n)){
answer++;
}
}
}
}
}
static boolean isPrime(int num){
if(primeN[num]) return true;
if(num==2) return true;
for(int i=2; i<=num/2; i++) {
if(num%i==0) {
return false;
}
}
return primeN[num]=true;
}
}
|
cs |
'Problem Solving' 카테고리의 다른 글
[프로그래머스] L2 튜플 / 2019 카카오 겨울 인턴십 (Java) (0) | 2020.12.19 |
---|---|
[프로그래머스] L2 후보키 / 2019 카카오 블라인드 채용 (Java) (0) | 2020.12.19 |
[프로그래머스] L2 영어 끝말잇기 (0) | 2020.12.15 |
[프로그래머스] L2 점프와 순간 이동 (0) | 2020.12.15 |
[프로그래머스] L2 캐시 / 2018 카카오 블라인드 채용 (0) | 2020.12.15 |
댓글