알고리즘 문제

알고리즘 문제 js 37- 소수 만들기

<zinny/> 2022. 2. 5. 12:16
728x90

내가 쓴 코드 

function solution(nums) {
    var answer = 0, number=0;
    for(var i=0;i<nums.length-2;i++){
        for(var j=i+1;j<nums.length-1;j++){
            for(var l=j+1;l<nums.length;l++){
                number=nums[i]+nums[j]+nums[l];
                var count=0;
                for(var k=1;k<=number;k++){
                    if(number%k==0) count++;
                }
                if(count==2) answer++;
            }
        }
    }
    return answer;
}
  • 소수란 약수가 1하고 자기 자신 밖에 없는 수 (1,2,3,5,7,....)
  • 일단 값이 세개가 나와야 하니까 반복문을 세번 돌리기로 했다
  • 같은 값을 계속 더할수가 없으니 기준값에 +1 해주면서 반복문을 돌리고
  • 합산하는 배열에 넣어준다 
  • 원하는 결과 값은 소수가 되는 경우의 개수를 구하는 것이기 때문에 개수를 넣을 변수를 하나 선언해준다
  • 1부터 합산한 값까지 반복문들돌리면서 나머지가 0이 될때마다 카운트 개수를 올려준다 
  • 여기서 약수가 2개 이상이 되버리면 약수가 아니게 되서 조건문을 달아준다
  • 약수가 2인 애들이 몇개인지 리턴해준다 !
728x90