프로그래머스 - 순서쌍 개수

이한결·2022년 12월 8일
0

프로그래머스

목록 보기
33/107
post-thumbnail

문제 설명

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

제한사항

● 1 ≤ n ≤ 1,000,000

입출력 예

입출력 예 설명

입출력 예 #1

n이 20 이므로 곱이 20인 순서쌍은 (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 이므로 6을 return합니다.

입출력 예 #2

n이 100 이므로 곱이 100인 순서쌍은 (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5), (25, 4), (50, 2), (100, 1) 이므로 9를 return합니다.

나의 코드

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

이 문제는 4시간 넘게 삽질하다가 결국 구글에 검색하여 풀은 문제이다. 결국 내가 풀은 문제는 아니다. 일단 순서쌍이라는 개념을 내가 이해하지 못했다. 그리고 이해하지 못한 상태에서 코드로 옮길려고 하니, 코딩이 안될 수 밖에...
순서쌍의 갯수는 약수의 갯수와 동일하다 라는 것이 위 코드의 핵심이다. 약수를 구해서 reslut 배열에 넣은 후에 배열의 length를 반환하였다.

끝!

profile
평범한 삶을 위하여

0개의 댓글