반응형
- nums 배열에 있는 숫자 중 3가지를 조합한 값이 소수가 되는 경우의 개수를 모아서 최종 return해야 한다.
- 소수인지 판별하는 함수를 만들고, 삼중 for문을 통해 모든 자릿수들의 조합을 구해줬다.
- 하지만 시간복잡도는 O³.. 만약 숫자의 개숫가 50개 이상이였다면, 오버플로가 발생했을거다.
function solution(nums) {
let count = 0;
for (let i = 0; i < nums.length - 2; i++) {
for (let j = i + 1; j < nums.length - 1; j++) {
for (let k = j + 1; k < nums.length; k++) {
if (isPrime(nums[i] + nums[j] + nums[k])) count++;
}
}
}
return count;
function isPrime(num) {
if (num === 2) return true;
for (let i = 2; i < num; i++) {
if (num % i === 0) return false;
}
return true;
}
}
반응형
'알고리즘문제' 카테고리의 다른 글
프로그래머스 > 실패율 (1) | 2022.10.08 |
---|---|
프로그래머스 > 해시 > 포켓몬 (0) | 2022.10.05 |
프로그래머스 2018 KAKAO BLIND RECRUITMENT[1차] 비밀지도 (0) | 2022.10.01 |
프로그래머스 Summer/Winter Coding(~2018) > 예산 (0) | 2022.09.30 |
프로그래머스 - 올바른 괄호 (0) | 2022.09.25 |