문제 설명
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
제한사항
nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다.
입출력 예
nums result
[1,2,3,4] 1
[1,2,7,6,4] 4
function solution(s) {
let result =[];
for(let i=0; i<s.length-2; i++){
for(let j=i+1; j<s.length-1; j++){
for(let k=j+1; k<s.length; k++){
result.push(s[i]+s[j]+s[k]);
}
}
}
console.log(result);
result = result.filter(function(value){
for(let r=2; r<value; r++){
if(value%r==0){
return false;
}
}
return true;
})
return result.length;
}
문제해설
각배열의 요소를 3개 더하여 나온값의 경우의 수를 모두 구할수 있는 3중for문 작성...
이후 나온 값들을 result에 저장하여 소수판별하여 통과한 값만 resultd에 재할당 이후 result의 길이를 반환하는 함수