π μκ³ λ¦¬μ¦/λ°±μ€
[λ°±μ€] 17478λ²: μ¬κ·ν¨μκ° λκ°μ? (Node.js)
JaeBBang
2024. 9. 3. 15:52
μ κ·Όλ°©μ
λ°λ³΅λλ κΈκ·μ λ°λ³΅λλ κ°"____"μ μΆκ°λ‘ νλ©΄μ μΆλ ₯μ νλ κ²μ λ΄€μ λ λ¬Έμ μ μ λͺ©κ³Όλ κ°μ΄
μ¬κ·ν¨μλ₯Ό μ΄μ©ν΄μ νλΌλ κ² κ°λ€!
μ¬κ·ν¨μλ?
ν¨μ μμμ μκΈ°μμ μ λ€μ νΈμΆνλ ν¨μλ₯Ό μλ―Έν©λλ€.
κ³μν΄μ μκΈ°μμ μ νΈμΆνλ©΄μ μλ§μ 쑰건μ λ§λλ©΄ ν¨μλ₯Ό λΉ μ Έλκ°λ λ‘μ§μ μννκ³€ ν©λλ€.
νμ΄ β°
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on("line", function (line) {
input.push(Number(line));
}).on("close", function () {
// μ
λ ₯λ κ°
let num = input[0];
// νμ¬κ°μ΄λ©΄ μ¬κ·λ₯Ό ν΅ν΄ +λ κ°
let curNum = 0;
// κΈ
let story = "";
// ____
let underline = "";
console.log("μ΄λ ν μ»΄ν¨ν°κ³΅νκ³Ό νμμ΄ μ λͺ
ν κ΅μλμ μ°Ύμκ° λ¬Όμλ€.");
const recursive = (line, num, curNum) => {
if (num > curNum) {
// μ²μ μΆκ°λ lineμ λΉκ°μ΄λ©° μ΄ν μΆκ°λ κ°μλ "____"κ° μΆκ°λ‘ λΆμ
story += `${line}"μ¬κ·ν¨μκ° λκ°μ?"\n`;
story += `${line}"μ λ€μ΄λ³΄κ². μλ μλ ν μ° κΌλκΈ°μ μ΄μΈμ λͺ¨λ μ§μμ ν΅λ¬ν μ μΈμ΄ μμμ΄.\n`;
story += `${line}λ§μ μ¬λλ€μ λͺ¨λ κ·Έ μ μΈμκ² μλ§μ μ§λ¬Έμ νκ³ , λͺ¨λ μ§νλ‘κ² λλ΅ν΄ μ£Όμμ§.\n`;
story += `${line}κ·Έμ λ΅μ λλΆλΆ μ³μλ€κ³ νλ€. κ·Έλ°λ° μ΄λ λ , κ·Έ μ μΈμκ² ν μ λΉκ° μ°Ύμμμ λ¬Όμμ΄."\n`;
// num(μ
λ ₯κ°)μ΄ λ§μ½ 4μ΄λ©΄, 0 1 2 3 κΉμ§ λ μ μκ² κ°μ ν€μμ€
curNum++;
recursive(line + "____", num, curNum);
} else {
// curNumμ΄ 4κ° λλ©΄ λ§λ¬΄λ¦¬λ©νΈλ‘ λ³κ²½
story += `${line}"μ¬κ·ν¨μκ° λκ°μ?"\n`;
story += `${line}"μ¬κ·ν¨μλ μκΈ° μμ μ νΈμΆνλ ν¨μλΌλ€"\n`;
}
story += `${line}λΌκ³ λ΅λ³νμμ§.\n`;
};
recursive(underline, num, curNum);
console.log(story);
});
μ¬κ·ν¨μλ νμ μμ μ‘°μ§λλ₯Ό ꡬμ±ν λ μμ£Ό μ¬μ©νλ ν¨μμ¬μ κ·Έλ°μ§ λλ¦ μ½κ² ν μ μμμ΅λλ€.
νΉμλͺ¨λ₯Ό λμλ§μ΄ νμν μλ μμΌλ... κΈ°μ‘΄μ½λλ‘ κ°λ¨νκ² μ¬κ·ν¨μμ λν΄μ μμ±μ ν΄λ³΄κ² μ΅λλ€.
ν¨μ μμμ ν¨μλ₯Ό μ¬νΈμΆνλ κ±Έ λμΌλ‘ 보μλ©΄ ν¨μ¬ λ μ΄ν΄κ° λΉ λ₯Ό μ μλ€κ³ μκ°ν©λλ€!
let num = input[0];
let curNum = 0;
let story = "";
let underline = "";
console.log("μ΄λ ν μ»΄ν¨ν°κ³΅νκ³Ό νμμ΄ μ λͺ
ν κ΅μλμ μ°Ύμκ° λ¬Όμλ€.");
const recursive = (line, num, curNum) => {
if (num > curNum) {
story += `${line}"μ¬κ·ν¨μκ° λκ°μ?"\n`;
curNum++;
recursive(line + "____", num, curNum);
// ν¨μμμ ν¨μκ° μλ€κ³ μκ°!
// const recursive = (line, num, curNum) => {
// if (num > curNum) {
// story += `${line}"μ¬κ·ν¨μκ° λκ°μ?"\n`;
// curNum++;
// recursive(line + "____", num, curNum);
// } else {
// story += `${line}"μ¬κ·ν¨μλ μκΈ° μμ μ νΈμΆνλ ν¨μλΌλ€"\n`;
// }
// story += `${line}λΌκ³ λ΅λ³νμμ§.\n`;
// };
} else {
story += `${line}"μ¬κ·ν¨μλ μκΈ° μμ μ νΈμΆνλ ν¨μλΌλ€"\n`;
}
story += `${line}λΌκ³ λ΅λ³νμμ§.\n`;
};
recursive(underline, num, curNum);
console.log(story);
λ°±μ€ 17478λ² λ§ν¬