Coding test Practice33
프로그래머스 소수만들기
문제설명:
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
function isPrime(num) {
for(let i = 2; i <= Math.sqrt(num); i++) {
if(num % i === 0) {
return false
}
}
return true;
}
function solution(nums) {
let result = 0;
for(let i = 0; i < nums.length; i++) {
for(let j = i + 1; j < nums.length; j++) {
for(let k = j + 1; k < nums.length; k++) {
let sum = nums[i] + nums[j] + nums[k];
if(isPrime(sum)) {
result = result + 1;
}
}
}
}
return result;
}
문제풀이
소수의 개수를 담아줄 변수 result를 선언하고 3중 반복문으로 nums에서 3개를 뽑아서 더해준 값을 sum으로 할당하고 소수 판별식을 호출하여 sum의 소수여부를 판정하여 소수이면 result에 1을 더해주고 아니면 넘어간다. 반복문을 완료하면 result를 리턴한다.
Author And Source
이 문제에 관하여(Coding test Practice33), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@scoles1/Coding-test-Practice33저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)