본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 27 - 순서쌍의 개수)

728x90

 

# 문제

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.



# 답안 

// 1. 입력: n -> 자연수 1,2,3 같은거 
// 2. 출력: 두 숫자의 곱이 n인 자연수 순서쌍의 개수

function solution(n) {
    let count = 0;
    for (let i = 1; i <= n; i++) {
        if (n % i === 0) {
            count++;
        }
    }
    return count;
}


# 인사이트 

// 길이 개념으로 생각하는게 아니라, 개수를 ++해서 count를 하는 방식으로 해야한다.
// ( n % i === 0 ) 이렇게 적으면 나머지가 0 이라서 "나누기가 가능하다" 라는 뜻이 된다.

 

< 과정 >

1. count 변수를 사용하여 자연수 순서쌍의 개수를 추적한다.
2. for 반복문을 사용하여 1부터 n까지의 수를 확인한다. 왜냐하면 두 숫자의 곱이 n이 되려면 1부터 n까지의 수 중 하나가 될 수밖에 없기 때문이다.
3. 만약 n을 현재 숫자로 나눌 수 있다면(나머지가 0이면) count를 1 증가시킨다.
4. 최종적으로 count를 반환한다.
728x90