JavaScript로 풀 수 없는 문제
const array = Array(9999)
.fill()
.map((v, i) => i + 1);
for (let i = 1; i <= 10000; i++) {
// 10이하 처리
if (i < 10) {
array[i * 2 - 1] = false;
}
// 10이상 처리
if (i >= 10) {
const sum =
String(i)
.split("")
.reduce((prev, curr) => prev + +curr, 0) + i;
array[sum - 1] = false;
}
}
let answer = "";
array.forEach(v => (v ? (answer += `${v}\n`) : null));
console.log(answer);
/**
* 1 ~ 99는 모두 등차수열에 만족
* 100 ~ 999인 경우 ( 이하 각 자릿수를 x, y, z라고 부름 )
* (x - y === y - z)에 만족하면 등차수열임... 즉, 공차가 같으면 등차수열
*/
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = null;
rl.on("line", line => {
input = +line;
rl.close();
}).on("close", () => {
let count = 0;
if (input < 100) return console.log(input);
// 1 ~ 99를 제외하고 생성
const array = Array(input - 99)
.fill()
.map((v, i) => String(i + 100));
array.forEach(value => {
const tempArray = value.split("");
if (+tempArray[0] - +tempArray[1] === +tempArray[1] - +tempArray[2]) count++;
});
console.log(99 + count);
process.exit();
});