728x90
문제 2501번
https://www.acmicpc.net/problem/2501
2501번: 약수 구하기
첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.
www.acmicpc.net
이 문제는 N만큼 for문을 사용하여 나눠지는 i를 배열에 넣으면 될 것 같다. 만약에 배열의 길이가 K보다 작을 경우 K번째 약수가 존재하지 않는 경우라는 뜻이기 때문에 0을 출력해준다.
여기서 for문을 사용할 때는 i가 1부터해야 약수인 것을 계산할 수 있다. 그리고 K번째는 인덱스로 K-1이다.
배열에 넣을 때 push로 해야하는데 + 로 해버려서 틀렸다...
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const [N,K] = require("fs").readFileSync(readFileSyncAdress).toString().trim().split(' ').map(x=>Number(x));
let num=[];
for(let i=1;i<=N;i++){
if(N%i===0){
num.push(i);
}
}
if(num.length<K){
console.log(0);
} else{
console.log(num[K-1]);
}
처음에 계속 틀려서 뭐가 잘못했는지 보니 약수가 없는 경우를 생각해주지 않았다.
그래서 약수의 개수가 K보다 작은 경우 0을 출력해주도록 하였다.
728x90
'백준 > JavaScript' 카테고리의 다른 글
[JS] 백준 약수, 배수와 소수 - 1978번 (0) | 2024.02.08 |
---|---|
[JS] 백준 약수, 배수와 소수 - 9506번 (0) | 2024.02.06 |
[JS] 백준 약수, 배수와 소수 - 5086번 (0) | 2024.02.05 |
[JS] 백준 일반 수학 1 - 다섯 번째 이야기 (0) | 2024.02.03 |
[JS] 백준 일반 수학 1 - 네 번째 이야기 (0) | 2024.02.02 |