nums.sort((a,b)=> a - b).forEach((element, index) =>
{
})
로 nums에 있는 배열을 오름차순 정렬하고,
forEach문으로 배열의 요소를 순회했다.
forEach문 안에서는
for(let i = index + 1; i < nums.length - 1; i++)
{
for(let j = i + 1; j < nums.length; j++)
{
let temp = element + nums[i] + nums[j]
if(isPrime(temp)) count++;
}
}
반복문을 작성해
element, num[i], nums[j]를
더할 수 있게 만들어줬다.
그렇게 더해진 숫자 temp는
isPrime 함수의 input으로 들어가
function isPrime(num)
{
for (let i = 2; i <= Math.sqrt(num); i++)
{
if (num % i === 0) return false;
}
return true;
}
(소수를 검증하는 부분을 만드는게 힘들었습니다...)
소수이면 true를 소수가 아니면 false를 반환 받을 수 있게 만들었다.
if(isPrime(temp)) count++;
소수이면 count를 증가시켜줬다.
제출한 코드 :
function isPrime(num)
{
for (let i = 2; i <= Math.sqrt(num); i++)
{
if (num % i === 0) return false;
}
return true;
}
function solution(nums)
{
let count = 0;
nums.sort((a,b)=> a - b).forEach((element,index)=>
{
for(let i = index + 1; i < nums.length - 1; i++)
{
for(let j = i + 1; j < nums.length; j++)
{
let temp = element + nums[i] + nums[j]
if(isPrime(temp)) count++;
}
}
})
return count
}
'문제 풀기 > JavaScripts' 카테고리의 다른 글
문제 60. 기사단원의 무기(난이도 5) (0) | 2024.08.20 |
---|---|
문제 59. 덧칠하기(난이도 10)(new Array 와 fill) (0) | 2024.08.19 |
문제 57. 모의고사 완전 탐색 (난이도 7) (0) | 2024.08.19 |
문제 56. 과일 장수(난이도 5) (0) | 2024.08.02 |
문제 55. 카드 뭉치(난이도 7)(shift) (0) | 2024.08.02 |