소수 갯수맞추기

  1. 숫자 3개를 뽑아 더하는 방법
  2. 소수인지 확인하는 방법

잘 생각해보자 어떻게 할수 있는지...


결국 생각못해내고 강의를 들었다.

nums = [1,2,3,4]
function solution(nums) {
	
    for(let i = 0; i < nums.length; i++) 	{
   		for(let j = 1; j < nums.length; j++) {
        	for(let k = 2; k < nums.length; k++) {
            	sumNumber = nums[i]+nums[j]+nums[k];
                
            }
        } 
    }

}

nums[0] + nums[1] + nums[2] ... nums[k]가 다 돌때까지
이후 k반복문 마치고 j반복문으로 들어간다.
즉 중복없이 세개 숫자를 더할수 있는 경우를 다 구했다.

이후 소수를 구하는 법.

function isPrimeNum() {
for(let i = 2; i < num ; i++){
	//i가 2부터 num보다 작을때까지 포문을 돌려서
        if(sumNumber % i == 0){ //0과 같을 때가 생기면 false					
   			return false;
        }
}
//단한번도 false를 리턴하지 않으면 마지막에 true 표출.
return true;

전체코드

  function checkPrimeNumber(num) {
    for(let i = 2; i < num; i++) {
        if(num % i == 0) {
            return false;
        }
    }
    return true;
  }
  
  solution([1, 2, 3,4]);

  function solution(nums) {

    let sumNumber = 0;
    let result = 0;
    //숫자 세개를 골라서 합하는 코드
    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)) {
                    result++; //true라면 result 값 상승
                }
            }
        }
    }
    // result = sumNumber;
    //그 숫자가 소수인지 판단
    console.log(result);
      return result;
  }

좋은 웹페이지 즐겨찾기