안녕하세요 !
9월 부터 연말까지 바빠져서
지금 시간이 조금 나서 올리게 되었습니다!
이번에도 ~ Programmers 문제 입니다.
저번에는 소수를 찾는 거였다면
이번 포스팅은 소수를 만드는 거에요.
저번 포스팅들과 마찬가지로 문제는 Programmers에 있으니 직접 검색해 보세요 ~!
이번에도 기록용 입니다
별다른 풀이는 하지 않을게요!
1. Solved with 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import java.util.Arrays;
import java.lang.Math;
class Solution {
private static int answer = 0;
public int solution(int[] nums) {
int[] comArr = new int[3];
combination(comArr, nums.length, 3, 0, 0, nums);
return answer;
}
private static void combination(int[] comArr, int n, int r,
int index, int target, int[] nums){
if (r==0){
if(checkPrime(Arrays.stream(comArr).sum())){
answer++;
}
return;
}
if(target==n) return;
comArr[index] = nums[target];
combination(comArr, n, r-1, index+1, target+1, nums);
combination(comArr, n, r, index, target+1, nums);
}
private static boolean checkPrime(int check) {
int count=0;
double checkSqrt = Math.sqrt(check);
double checkZero = checkSqrt - (int)checkSqrt;
if(checkZero!=0.0) {
for(int i=1; i<(int)checkSqrt+1; i++) {
if(check%i==0) {
count++;
}
}
count++;
}
if(count==2) {
return true;
} else {
return false;
}
}
}
|
cs |
2. Solved with Python3 (Python2 버전은 Programmers에서 해당 문제에서는 풀이 언어로 선택 할 수 없어서 3버전만 작성 합니다)
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
32
33
34
35
36
37
38
39
40
41
42
43
|
from itertools import combinations
from math import sqrt
def solution(nums):
return solve(nums)
def solve(combLi):
primeCount = 0
for i in combiList(combLi):
if primeCheck(sum(i)):
primeCount+=1
else:
pass
return primeCount
def primeCheck(num):
numSqrt = sqrt(num)
checkSqrt = int(numSqrt)+1
checkZero = numSqrt - int(numSqrt)
count = 0
if sqrtCheck(checkZero):
for i in range(1, checkSqrt):
if(num%i==0):
count+=1
else:
pass
count+=1
if count==2:
return True
else:
return False
else:
return False
def combiList(nums):
return list(combinations(nums, 3))
def sqrtCheck(checkZero):
if checkZero!=0.0:
return True
else:
return False
|
cs |
위 코드의 결과는 직접 확인해 보세요 ~!
'프로그래밍 언어 > Programmers' 카테고리의 다른 글
Programmers 월간 코드 챌린지 시즌1 9월 문제 삼각 달팽이 with Java and Python (0) | 2020.09.20 |
---|---|
Programmers Level2 튜플 with Java and Python (0) | 2020.08.30 |
Programmers Level2 소수찾기 with Java and Python (0) | 2020.08.29 |