https://school.programmers.co.kr/learn/courses/30/lessons/120836
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 ]

[ 내 풀이 ]
function solution(n) {
// 조건에 만족하는 순서쌍을 카운트할 count변수를 선언합니다.
let count = 0;
// 주어진 매개변수의 값만큼 반복합니다.
for(let i=1; i<=n; i++){
// 두 값의 곱이 n이 되는 경우의 수를 찾습니다.
if(n%i===0){
// 찾았다면 count를 1 증가시켜줍니다.
count++;
}
}
return count;
}
[ 다른 풀이 ]
function solution(n) {
let ans = 0;
// 1부터 n의 제곱근까지 반복합니다.
for (let i = 1; i < Math.sqrt(n); i++) {
// i가 n의 약수인지 확인합니다.
if (n % i === 0) {
// i가 약수라면 n / i도 약수입니다.
// 두 약수를 모두 세므로 ans에 2를 더해줍니다.
ans += 2;
}
}
// n이 완전 제곱수인지 확인합니다.
// n이 완전 제곱수인 경우, 하나의 약수를 두 번 세게 됩니다. (즉, sqrt(n))
// 따라서 중복된 중간 약수를 고유한 하나의 약수로 취급하기 위해 ans에 1을 더해줍니다.
return Number.isInteger(Math.sqrt(n)) ? ans + 1 : ans;
}
반응형
'Algorithm > Javascript' 카테고리의 다른 글
| [ 프로그래머스 ] 모스부호(1) ( JS ) (0) | 2024.06.18 |
|---|---|
| [ 프로그래머스 ] 개미 군단 ( JS ) (0) | 2024.06.18 |
| [ 프로그래머스 ] 진료순서 정하기 ( JS ) (0) | 2024.06.18 |
| [백준 - 문제풀이] 1000번 외 4개 문제 : 사칙연산 ( Node.js ) (0) | 2023.11.28 |
| [백준 - 개념정리] Node.js에서 입력값은 어떻게 받는가? (0) | 2023.11.28 |
