[プログラマ]小数を作成(JavaScript)
10087 ワード
🔗 質問リンク
https://programmers.co.kr/learn/courses/30/lessons/12977
📙 私が考えている答えの過程
📝 解答コード
function solution(nums) {
var answer = 0;
var tmp = nums.map((val,index)=>index);
var arr = getCombinations(tmp,3);
for(var i = 0; i < arr.length; i++){
var sum = 0;
for(var j = 0; j < arr[i].length; j++){
sum += nums[arr[i][j]];
}
if(prime(sum))
answer++;
}
return answer;
}
//조합 알고리즘
function getCombinations(arr, selectNumber) {
var results = [];
if (selectNumber === 1) return arr.map((value) => [value]);
arr.forEach((fixed, index, origin) => {
var rest = origin.slice(index + 1);
var combinations = getCombinations(rest, selectNumber - 1);
var attached = combinations.map((combination) => [fixed, ...combination]);
results.push(...attached);
});
return results;
}
//소수면 true 아니면 false 반환하는 함수
function prime(num){
var cnt = 0;
if(num > 1){
for(var i = 1; i <= num; i++){
if(num%i == 0)
cnt++;
if(cnt > 2)
return false;
}
if(cnt <= 2)
return true;
}else
return false;
}
Reference
この問題について([プログラマ]小数を作成(JavaScript)), 我々は、より多くの情報をここで見つけました https://velog.io/@qjspdl/프로그래머스-소수-만들기javascriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol