[프로그래머스]소수 만들기

해피데빙·2022년 6월 23일
0

코딩테스트

목록 보기
21/52
post-custom-banner
function solution(nums) {
    function isPrime(n){
    if(n ===1)return false 
    if(n ===2)return true 
    
    for(let i=2; i<=Math.sqrt(n); i++){ 
        if(n%i===0)return false 
    }
    return true
}
    
 
    let count = 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++){ 
                if(isPrime(nums[i] + nums[j]+ nums[k])){ 
                  count++;
                }
            
            }
        }
    }
    
    return count;
   
}

조합은 dfs까지 안 가고 반복문으로만 만들어도 충분하다
순서를 신경쓰지 않아도 되지만 중복이 있으면 안되기 때문에 반복문에서
for문의 요소 하나하나마다 +1을 해줘야 한다

소수를 찾는 isPrime은 예외 처리를 해주는 게 중요하다

    function isPrime(n){
    if(n ===1)return false 
    if(n ===2)return true 
    
    for(let i=2; i<=Math.sqrt(n); i++){ 
        if(n%i===0)return false 
    }
    return true
}
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17
post-custom-banner

0개의 댓글