์ฃผ์ด์ง ์ซ์ ๋ฐฐ์ด์์ 3๊ฐ์ ์๋ฅผ ์ ํํ์ฌ ๋ํ์ ๋ ์์๊ฐ ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์
numsnums = [1,2,3,4]
// ๊ฐ๋ฅํ ์กฐํฉ: [1,2,4], [1,3,4]
// ์ถ๋ ฅ: 2
3์ค for๋ฌธ ์ ๊ทผ
function solution(nums) {
let answer = 0;
let size = nums.length;
for(let i = 0; i < size; i++) {
for(let j = i+1; j < size; j++) {
for(let k = j+1; k < size; k++) {
const sum = nums[i] + nums[j] + nums[k];
if(isPrime(sum)) answer++;
}
}
}
return answer;
}
๋ฐฑํธ๋ํน ์ ๊ทผ
function solution(nums) {
let answer = 0;
function findCombinations(selected, startIdx) {
if(selected.length === 3) {
const sum = selected.reduce((a,b) => a+b, 0);
if(isPrime(sum)) answer++;
return;
}
for(let i = startIdx; i < nums.length; i++) {
selected.push(nums[i]);
findCombinations(selected, i+1);
selected.pop();
}
}
findCombinations([], 0);
return answer;
}
์์ ํ๋ณ ํจ์ ์ต์ ํ
function isPrime(num) {
// i*i <= num์ผ๋ก ์ต์ ํ
for(let i = 2; i*i <= num; i++) {
if(num % i === 0) return false;
}
return true;
}
๋ฐฑํธ๋ํน์ ํตํ ์กฐํฉ ์์ฑ
[]๋ก ์์๋ฐฑํธ๋ํน์ ๊ฐ๋ ๊ณผ ํ์ฉ
์ฌ๊ท ํจ์์ ์ฅ์
์์ ํ๋ณ ์ต์ ํ