문제
순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.
▶ 내가 푼 방식
//내가 작성한 코드
function solution(n) {
var answer = 0;
for(let i = 1; i<=n; i++){
if (n%i === 0){
answer += 1
}
}
return answer;
}
▶ 다른 유저가 푼 방식
// 유저 1 : 절반으로 나누어 중복을 제거하는 방식
// n = 20, sqart(n) = 4.47,
// 그러면 4*5 = 5*4 같으니까 +2
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.sqaer())를 씌움으로써 중복되는 것을 막는 방법이 존재한다.
'프로그래밍 > 코딩연습' 카테고리의 다른 글
[ JS 코딩연습 ] 2024/04/10 : 3. 개미군단 (0) | 2024.04.10 |
---|---|
[ JS 코딩연습 ] 2024/04/09 : 2. 배열 자르기 (0) | 2024.04.09 |
[ JS 코딩연습 ] 2024/04/08: 3. 배열 자르기 (0) | 2024.04.09 |
[ JS 코딩연습 ] 2024/04/08 : 2. 머쓱이보다 키 큰 사람 (0) | 2024.04.08 |
[ JS 코딩연습 ] 2024/04/08 : 1. 문자열 안에 문자열 (0) | 2024.04.08 |