문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12977
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다.
숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때,
소수가 되는 경우의 개수를 리턴하도록 함수를 완성해주세요.
제한 조건
- nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
- nums의 각 원소는 1 이상 1000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다.
✅ Code - 성공
function solution(nums) {
var answer = 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++) {
let num = nums[i] + nums[j] + nums[k];
// 소수 판별
let flag = true;
for (let n = 2; n <= num**(1/2); n++) {
if (num % n == 0) {
flag = false;
break
}
}
if (flag) answer += 1;
}
}
}
return answer;
}
'알고리즘 문제 > 프로그래머스_Lv1 도장깨기' 카테고리의 다른 글
[프로그래머스] 완주하지 못한 선수 (Javascript) (0) | 2024.12.01 |
---|---|
[프로그래머스] 예산 (Javascript) (0) | 2024.11.30 |
[프로그래머스] 직사각형 별찍기 (Javascript) (1) | 2024.11.29 |
[프로그래머스] x만큼 간격이 있는 n개의 숫자 (Javascript) (0) | 2024.11.29 |
[프로그래머스] 행렬의 덧셈 (Javascript) (0) | 2024.11.29 |