알고리즘백준_1755숫자놀이
const readline = require("readline");
const solution = (input) => {
let numM = Number(input.split(" ")[0]); //입력받은 수1
let numN = Number(input.split(" ")[1]); //입력받은 수2
let numArr = []; //입력받은 수 사이의 숫자들을 저장할 배열
let tmp = "";
let answer = "";
let stringArr = [
"zero",
"one",
"two",
"three",
"four",
"five",
"six",
"seven",
"eight",
"nine",
];
for (let i = numM; i <= numN; i++) {
numArr.push(i); //numM-numN 사이 수 저장
}
for (let j = 0; j < numArr.length; j++) {
//한자리수 일때(ex) 08-> 8) 일의자리만..
if (Number(numArr[j]) / 10 < 1) {
//stringArr 인덱스 이용 숫자->영어로
tmp += stringArr[Number(numArr[j]) % 10];
tmp += "\n";
} else {
tmp += stringArr[Math.floor(Number(numArr[j]) / 10)] + " ";
tmp += stringArr[Number(numArr[j]) % 10];
tmp += "\n";
}
}
tmp = tmp
.split("\n")
.map((item) => item.split(" "))
.sort() //알파벳 순서대로 정렬
.map((item) => item.map((item) => stringArr.indexOf(item)).join("")) //indexOf로 영어->숫자로..
.filter((item) => item !== "-1")
.filter((item, index) => //10개씩 출력
(index + 1) % 10 === 0 ? (answer += item + "\n") : (answer += item + " ")
);
return answer;
};
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
console.log(solution(line));
rl.close();
});