💡풀이
import java.util.ArrayList;
import java.util.List;
class Solution {
public int solution(int[] nums) {
int count = 0;
for (int a = 0; a < nums.length - 2; a++) {
for (int b = a + 1; b < nums.length - 1; b++) {
for (int c = b + 1; c < nums.length; c++) {
int sum = nums[a] + nums[b] + nums[c];
if(isPrimeNumber(sum)) count++;
}
}
}
return count;
}
boolean isPrimeNumber(int n) {
if(n<2) return false; // 0,1은 소수가 아님
// 약수는 항상 쌍을 이루기때문에 제곱근 까지만 탐색
for (int i = 2; i <= (int) Math.sqrt(n); i++) {
if (n % i == 0) return false;
}
return true;
}
}
📖새로 배운 부분
- 약수의 개수를 구하는 효율적인 알고리즘 정리 글
[Java] 약수의 개수를 구하는 효율적인 알고리즘 정리
약수 구하기 알고리즘코딩테스트나 알고리즘 문제를 풀다 보면 약수를 구하는 문제를 자주 만나게 됩니다하지만 큰 수의 경우 비효율적인 로직으로 인해 시간 초과에 부딪히는 경우가 다반사
devoks.tistory.com
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 실패율 (0) | 2025.07.18 |
---|---|
[프로그래머스, Java] 옹알이 (2) (0) | 2025.07.18 |
[프로그래머스, Java] 소수 찾기 (0) | 2025.07.18 |
[프로그래머스, Java] 과일 장수 (0) | 2025.07.18 |
[프로그래머스, Java] 덧칠하기 (0) | 2025.07.18 |