❓문제
더보기
순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.
📌 내 풀이
function solution(n) {
let result = [];
for(let i = 0; i < n; i++) {
if(n % i === 0) {
result.push(i)
}
}
return result.length + 1;
}
- 처음에 순서쌍을 구하라는 줄 알고 헤맸다..
- 매개변수로 들어오는 n을 i로 나눠서 나눠지는 약수들을 result 배열에 담고
- result의 길이 + 1 해서 구했다.
📌 다른 사람 풀이
function solution(n) {
let ans = 0;
for (let i = 1; i < Math.sqrt(n); i++)
if (n%i === 0) ans+=2;
return Number.isInteger(Math.sqrt(n)) ? ans+1 : ans;
}
- Math.sqrt() 함수는 숫자의 제곱근을 반환합니다.
- Math.squrt()를 찾아보니 이렇게 나와있다.
(예제)
Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 코드 처리하기 js (0) | 2024.03.20 |
---|---|
[코딩테스트] 가위바위보 (0) | 2024.03.14 |
[코딩 테스트] 문자열 돌리기 (0) | 2024.03.11 |
[코딩테스트] day3 짝수는 싫어요/ 홀수 배열 구하기 (0) | 2024.03.04 |
[코딩테스트] day3 중앙값 구하기 (0) | 2024.03.04 |