반응형
문제 링크
코딩테스트 연습 - 소수 만들기 | 프로그래머스 스쿨 (programmers.co.kr)
문제 풀이
코드-1
class Solution {
public int solution(int[] nums) {
int cnt = 0;
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++) {
if(isPrime(nums[i] + nums[j] + nums[k])) {
cnt++;
}
}
}
}
return cnt;
}
public boolean isPrime(int num) {
boolean isPrime = true;
for(int i=2; i<=(int)Math.sqrt(num); i++) {
if(num % i == 0) {
isPrime = false;
break;
}
}
return isPrime;
}
}
배열에서 3개의 요소를 순서대로 꺼내 더한 후 소수인지 아닌지를 판별해야 합니다.
소수 판별을 해주는
소수인지 아닌지 판별하는 기준은 1이 아닌 약수가 있는지 확인하면 됩니다.
그리고 약수 판별 반복문을 수행할 때
만약 잘 이해가 안 되면 아래 글을 참고해 주세요.
프로그래머스 - 약수의 개수와 덧셈 java :: 월간 코드 챌린지 시즌2
테스트 케이스 처리속도
🔥 평균 0.06ms / 최대 2.11ms
반응형
'Algorithm > Java' 카테고리의 다른 글
프로그래머스 - 없는 숫자 더하기 java :: 월간 코드 챌린지 시즌3 (0) | 2022.07.06 |
---|---|
프로그래머스 - 음양 더하기 java :: 월간 코드 챌린지 시즌2 (0) | 2022.07.06 |
프로그래머스 - 내적 java :: 월간 코드 챌린지 시즌1 (0) | 2022.07.06 |
프로그래머스 - 완주하지 못한 선수 java :: 해시 :: 42576 (0) | 2022.07.05 |
프로그래머스 - K번째수 java :: 정렬 (0) | 2022.07.05 |