function solution(nums) {
let countPrime = 0;
const isPrime = (num) => {
let count = 0;
for(let i = 0; i <= num; i++){
if(num % i === 0){
count++
}
}
if(count === 2){
return true;
}
return false;
}
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])){
countPrime++;
}
}
}
}
return countPrime;
}
소수를 검증하는 내부 함수 isPrime
을 만들고 반복문을 세개 겹쳐서 세개의 숫자를 더했을때 소수인지 검증하고, 소수라면 countPrime
에 +1 했다.
처음에 반복문을 세개 겹치는 것에 대해 거부감을 느껴서 최대한 안써보려고 했는데 결국 써버렸다.
그런데 아 이게 맞나? 하면서 통과를 했지만 다른 사람들도 다 비슷하게 반복문을 돌려서 뭔가 안심했다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#