✏️ 문제(4673 / 셀프넘버 / node.js)
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
📝 해답
const arr = [];
const numberArr = [];
for (let i = 1; i < 10001; i++) {
numberArr.push(i);
}
for (let i = 1; i < 10001; i++) {
let n = 0;
let stringToNumber = String(i);
for (let j = 0; j < stringToNumber.length; j++) {
n += Number(stringToNumber[j]);
}
let constructor = i + n;
arr.push(constructor);
}
const subtraction = numberArr.filter((x) => !arr.includes(x));
console.log(subtraction.join('\n'));
✏️ 문제(1065 / 한수 / node.js)
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
📝 해답
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin');
const N = Number(input);
function solution(N) {
let hansoo = 0;
for (let i = 1; i <= N; i++) {
if (i < 100) hansoo++;
else {
const arr = String(i).split('').map(Number);
if (arr[0] - arr[1] === arr[1] - arr[2]) hansoo++;
}
}
console.log(hansoo);
}
solution(N);
댓글