Lv.1 소수 만들기
🤖문제
👍 2022년 1월 23일
<script>
const getCombinations = (arr, n) => {
const results = [];
if (n === 1) return arr.map((v) => [v]);
arr.forEach((fix, i, origin) => {
const rest = origin.slice(i + 1);
const combinations = getCombinations(rest, n-1);
const attached = combinations.map((v) => [fix, ...v])
results.push(...attached);
});
return results;
}
const decimal = (num) => {
for (let i=3; i<parseInt(num/2); i++) {
if (num % i === 0) return false
}
return true;
}
function solution(nums) {
let answer = 0;
const arrays = getCombinations(nums, 3);
arrays.forEach((arr,i) => {
let sumNumber = arr.reduce((acc, val) => {return acc+val}, 0);
if (sumNumber % 2 !== 0) {
decimal(sumNumber) ? answer++ : {}
};
})
return answer;
}
</script>
매 번 선뜻 못 했던 조합구하는 법을 이번에야 확실히 안 것 같다.
복습 자주 해서 완전히 체화시켜야 하겠지만...
Author And Source
이 문제에 관하여(Lv.1 소수 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@youjinee98/Lv.1-소수-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)