Coding Test/프로그래머스 Lv.0

순서쌍의 개수. if문에 !가 들어가면, '만약 ~가 아니라면'의 뜻.

sangwoo_rhie 2023. 6. 9. 22:33

 

if 조건문에 !가 들어가면, '만약 ~가 아니라면'의 뜻. 꼭 알아야 함

 

 

나의 풀이

로직

 

for문 사용, i를 돌아가면서 넣음. n을 i로 나눈 나머지값이 0일 경우, i는 n의 약수다.
그럼 나머지 약수값은 n으로 나눈 몫의 값. (n/i)
즉 순서쌍은 (i, n/i)
이것을 하나의 순서쌍으로 했을때, for문을 돌렸을 때 몇개의 
순서쌍이 나오는지 구하고 length 구하기.

 

function solution (n){
    let answer = [];
    for(let i = 1; i <= n; i++){
        if (n%i === 0){
            answer = [i].push.length
        }
    }
    return answer;
}

틀림.

 

 

 

a*b = n

n%a === 0

 

n을 a로 나누었을 때, 0이면 배열 n은 a를 포함하고 있어야 함.

 

    function solution(n) {
    let answer = [];
    for(i=1;i<=n;i++){
        if(n%i == 0 && !answer.includes(i)){ 
        answer.push(i)
        }
    }
       return answer.length;
}

순서대로.
if문에서 n%i == 0
n을 i로 나누었을때 나머지가 0이면 = 즉 i가 n의 약수이고

&& 그리고 (동시조건충족시켜야함)

!answer.includes(i) => answer이 i를 포함하고 있지 않다면.
(if문에서의 !는 if not의 의미, 만약 ~가 아니라면)

answer에 i를 순서대로 넣어줘라.
정답은 answer의 배열의 길이.

여기서 if 조건문에 !가 들어가면, '만약 ~가 아니라면'의 뜻. 꼭 알아야 함