-
์ ๊ทผ๋ฐฉ์
๋ฐ๋ณต๋๋ ๊ธ๊ท์ ๋ฐ๋ณต๋๋ ๊ฐ"____"์ ์ถ๊ฐ๋ก ํ๋ฉด์ ์ถ๋ ฅ์ ํ๋ ๊ฒ์ ๋ดค์ ๋ ๋ฌธ์ ์ ์ ๋ชฉ๊ณผ๋ ๊ฐ์ด
์ฌ๊ทํจ์๋ฅผ ์ด์ฉํด์ ํ๋ผ๋ ๊ฒ ๊ฐ๋ค!
์ฌ๊ทํจ์๋?
ํจ์ ์์์ ์๊ธฐ์์ ์ ๋ค์ ํธ์ถํ๋ ํจ์๋ฅผ ์๋ฏธํฉ๋๋ค.
๊ณ์ํด์ ์๊ธฐ์์ ์ ํธ์ถํ๋ฉด์ ์๋ง์ ์กฐ๊ฑด์ ๋ง๋๋ฉด ํจ์๋ฅผ ๋น ์ ธ๋๊ฐ๋ ๋ก์ง์ ์ํํ๊ณค ํฉ๋๋ค.ํ์ด โฐ
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๋ฒ ๋งํฌ
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 24262๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 1 (Node.js) (0) 2024.09.09 [๋ฐฑ์ค] 11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (Node.js) (0) 2024.09.05 [๋ฐฑ์ค] 5430๋ฒ: AC (Node.js) (0) 2024.09.04 [๋ฐฑ์ค] 2776๋ฒ: ์๊ธฐ์ (Node.js) (0) 2024.09.03 [๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ (Node.js) (3) 2024.09.02