Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 타입스크립트
- JavaScript
- 파이썬 반복문
- 내배캠 프로젝트
- REACT
- 코딩테스트
- 내일배움캠프
- typeScript
- Next 팀 프로젝트
- useState
- 파이썬 slice
- 리액트 공식 문서
- 파이썬 for in
- 한글 공부 사이트
- 프로그래머스
- 내일배움캠프 최종 프로젝트
- 리액트
- 리액트 훅
- tanstack query
- 자바스크립트
- 파이썬 enumerate
- 리액트 공식문서
- 리액트 프로젝트
- 파이썬 딕셔너리
- 파이썬 replace
- 타입스크립트 리액트
- useEffect
- 내일배움캠프 프로젝트
- 파이썬 for
- React Hooks
Archives
- Today
- Total
sohyeon kim
[JS] 백준 : 약수들의 합 9506 본문
728x90
반응형
https://www.acmicpc.net/problem/9506
9506번: 약수들의 합
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.
www.acmicpc.net
const input = require("fs")
.readFileSync("dev/stdin")
.toString()
.trim()
.split("\n");
for (i = 0; i < input.length - 1; i++) {
let num = Number(input[i]);
let numArr = [];
let index = 1;
let numAll = 0;
while (index < num) { // 마지막 수 제외하려면 index가 num보다 작아야함
if (num % index === 0) numArr.push(index); // 약수면 numArr에 추가
index++;
numAll = numArr.reduce((a, b) => a + b); // numArr 배열의 합
}
// console.log(numAll); // 6 16 28
// console.log(index); // 6 12 28
// console.log(numArr); // [1, 2, 3] [1, 2, 3, 4, 6] [ 1, 2, 4, 7, 14]
const str = numArr.join(" + "); // 배열 사이를 " + "로 합치면서 string으로 변환
if (num === numAll) {
console.log(`${num} = ${str}`);
} else {
console.log(`${num} is NOT perfect.`);
}
}
728x90
반응형
'Coding Test' 카테고리의 다른 글
[JS] 코딩테스트 : 피보나치 수열 구하기 (0) | 2023.12.29 |
---|---|
[JS] 프로그래머스 : 수열과 구간 쿼리 4 (0) | 2023.10.20 |
[JS] 프로그래머스 : 숨어있는 숫자 찾기(2) (2) | 2023.10.18 |
[JS] 백준 : 약수 구하기 2501 (0) | 2023.10.02 |
[JS] 백준 : 배수와 약수 5086 (0) | 2023.10.02 |