[CodingTest] 프로그래머스 : 소수만들기
6704 단어 CodingTestCodingTest
// 2. 그 숫자가 소수인지 판단하는 코드
function checkPrimeNumber(num)
{
for(let i = 2; i < num; i++) // 1과 자기 자신은 어차피 나눠짐, 따라서 그 사이의 수를 검증할 필요가 있다.
{
if( num % i == 0) { // 소수가 아님을 표시
// ex. 4를 2로 나눴을때 나머지가 0. 결국 1,자신의 숫자말고 그 사이숫자로 나눠진다는 뜻이기 때문에 return false
return false
}
}
return true;
}
//solution([1, 2, 3, 4]);
solution([1, 2, 7, 6, 4]);
function solution(nums){
let sumNumber = 0;
let count = 0;
// 1. 숫자 세개를 골라서 합하는 코드
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++)
{
sumNumber = nums[i] + nums[j] + nums[k];
console.log(sumNumber);
if(checkPrimeNumber(sumNumber)) {
count++;
}
}
}
}
console.log(count);
}
핵심
문제를 쪼개서 할 수 있는 만큼까지만 짜는 능력을 기르는것이 중요하다.
1. 숫자 세개를 골라서 더하기
2. 더한 각각의 수가 소수인지 판단하기
그래서 뭘 몰라서 못 풀었냐?
- 숫자 세개를 어떻게 고를지 몰랐음
1-1. 정확히는 nums.length를 쓰는개념 - why? i+1, j+1인가? (애매함)
- 소수를 판단하는것.
3-1. 1과 자신을 제외한 숫자를 뽑아내는것
3-2. 그 숫자를 가지고 어떻게 소수를 판단하냐? - 소수판단을 했을때 새로 변수 선언을 해주는것
4-1. 출력할 값. 즉 count를 해줄 공간을 만드는것
풀이과정 내에서 총 5개의 과정에서 막혔다. 벽을느낌.
Author And Source
이 문제에 관하여([CodingTest] 프로그래머스 : 소수만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chou60400/CodingTest-프로그래머스-소수만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)