순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.
(1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 나는 이것에만 집중하여 어떻게 하면 n의 을 a*b로 만들수 있는지만을 구하다보니 정답에 도달하지 못했다. 물론 for(let i = 1 ; i <= n ; i ++) {}을 통해야 한다는 것에는 도달했지만 말이다.
function solution(n) {
const result = []
for(let i = 1 ; i <= n ; i ++) {
if(n%i === 0) {
result.push(i);
}
}
console.log(result.length);
return result.length};
solution(20)
이 결과 나머지의 값이 0인 것만 result에 담기게 되며, 해당 배열의 길이를 구하면 6이 나오는 것이다. 문제는 풀 수 있어보이지만, 짝지어 나타낸 쌍으로 (a, b)로 표기를 배열에 담고, 그 배열의 길이를 구해야 한다는 점에서 위의 코드에는 문제가 있어 보이지만, 코린이의 실력에서 위의 문제를 푸는 것은 조금 많이 어려운 일이다. 다른사람의 풀의를 보아도 이런 내용에 의문을 표한 사람이 없기 때문이다.