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

Miro·2022년 8월 1일
0
post-thumbnail

프로그래머스 Lv.1 소수만들기

문제, 제한 사항

입출력

나의 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function isPrime(x) {
    if(x === 1) {
        return false;
    } else {
        for(let i = 2; i < x; i++) {
            if(x % i === 0) {
                return false;
            }
        }
        return true;
    }
}
 
function solution(nums) {
    let result = 0;
    
    for(let i = 0; i < nums.length-2; i++) {
        for(let j = i+1; j < nums.length-1; j++) {
            for(let k = j+1; k < nums.length; k++) {
                let sum_n = nums[i] + nums[j] + nums[k];
                if(isPrime(sum_n)) {
                    result++;
                }
            }
        }
    }
    
    return result;
}
cs

isPrime은 소수이면 true, 소수가 아니라면 false가 return되는 함수이다.

반복문을 3개로 겹쳐 사용해서 i는 0부터 nums 길이의 -2만큼, j는 i+1부터 nums 길이의 -1만큼, k는 j+1부터 nums 길이만큼 반복한다.

반복문 내부에 변수 sum_n을 선언해서 nums[i], nums[j], nums[k]를 더한 값을 할당해준다.

sum_nisPrime 함수에서 소수로 판단이 된다면 result에 1을 더해준다.

profile
프론트엔드 개발자(진)

0개의 댓글