문제
- 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (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 |