프로그래머스 JS LV0

LV0 41 순서쌍의 개수

와라리요 2022. 10. 20. 13:26

문제

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

 

입출력 예

n result
20 6
100 9

 

나만의 풀이

  이 문제 처음 접근을 수학적으로 부터 시작했다.

  매개변수 n, 변수 2개를 a, b로 가정했을 때 식으로 간단히 표현하면 a * b = n이 조건이다. 그러면 a이나 b 둘 중 하나만 구할 수 있다면 n / b = a 또는 n / a = b를 이용해 다른 값을 구할 수 있으므로 가짓수를 구할 수 있다.

  즉, a 또는 b만 할 수 있으면 순서쌍이 몇가지 인지 알 수 있다는 것!!! 그래서 for문을 이용해 n 수만큼 돌리고 if문을 이용해 a값을 구해 return +1을 해서 순서쌍이 몇 가지인지 구했다.

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

'프로그래머스 JS LV0' 카테고리의 다른 글

LV0 43 인덱스 바꾸기  (0) 2022.10.20
LV0 42 가위 바위 보  (0) 2022.10.20
LV0 40 개미 군단  (0) 2022.10.18
LV0 39 숨어있는 숫자의 덧셈 (1)  (0) 2022.10.18
LV0 38 직각삼각형 출력하기  (0) 2022.10.18