
ํ๋ก ํธ์๋ ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ์ฝ๋ฉํ ์คํธ ์ค๋น๋ฅผ ์์ํ๋ค๋ณด๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ด ์ธ์ด๋ก ์ ํํ๊ฒ ๋์์ต๋๋ค.
โํ๋ก๊ทธ๋๋จธ์คโ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์๋ ์ด๋ ค์์ด ์์ต๋๋ค. UI๊ฐ ๊น๋ํ๊ณ ์ธ์ด ์ ํ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ต์ ์ผ๋ก ์์ต๋๋ค. ๋์ด๋์ ๋ฐ๋ผ ๋ฌธ์ ๋ฅผ ํ ์ ์๊ณ , ์นด์นด์ค์ ๊ฐ์ ๊ธฐ์ ์ฝํ ๋ฌธ์ ๋ฅผ ์ ๊ณตํด์ค๋๋ค.
โ๋ฐฑ์ค ์ฝ๋ฉํ
์คํธโ๋ ๋ค์ํ ์นดํ
๊ณ ๋ฆฌ(์ ํ๋ณ, ๋์ด๋๋ณ ๋ฑ)๋ณ๋ก ๋ฌธ์ ๋ฅผ ์ฐ์ตํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ฐฑ์ค์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ ค๊ณ ํ๋ฉด ์ฒ์์ ๋นํฉ์ค๋ฝ์ต๋๋ค. ์ฐ์ ์ธ์ด ์ ํ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๊ณ , node.js ๋ก ํ์ด์ผ ํ๋ ๊ฑธ ๋์น๊ป(์๋ฐ์คํฌ๋ฆฝํธ๊ฐ node ์์์ ๋์ํ๋ ์ธ์ด์ด๋ฏ๋ก ๋์น๊ป ์ ์ ์์ฃ !) ์ ํํ๋๋ผ๋, ํ์ด๋ง์ผ๋ก๋ ๋ฐํ์์๋ฌ๋ง ๋ฉ๋๋ค.
์
์ถ๋ ฅ์ ์ง์ ๋ค๋ค์ผ ํ๋ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฆ, ์
๋ ฅ๊ฐ์ ์ฒ๋ฆฌํด์ ๋ฌธ์ ๋ฅผ ํ๊ณ console.log๋ก ์ถ๋ ฅํด์ผ ํฉ๋๋ค.
๋ฐฑ์ค์์๋ /dev/stdin ์ด๋ผ๋ ๊ณณ์ ํ
์คํธ ์ผ์ด์ค ์
๋ ฅ ๊ฐ๋ค์ด ์๊ณ , ๊ทธ๊ฒ์ ์ฝ์ด์ ์ ์ถํ ์ฝ๋์ ๋์
ํด์ ๊ฒ์ฌํ๋ ์์
๋๋ค.
๋ฐ๋ผ์ ์ ๋ ฅ๊ฐ์ด ๋ค์ด์๋ ํ์ผ์ ์ฝ์ด์ ์ ๋ ฅ๊ฐ์ ์ ์ ํ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
readline๊ณผ fs ๋ ๊ฐ์ง ๋ชจ๋์ ์ฌ์ฉํด ์ ๋ ฅ๋ฐ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ฐ์ fs ๋ชจ๋์ ์ฌ์ฉํด ์ ๋ ฅ๋ฐ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค.
โ ๏ธ
fs ๋ชจ๋์ ๊ฒฝ์ฐ, ํน์ ๋ฌธ์ ์์ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ํฉ๋๋ค. ์ฐจํ ํด๋น ๋ฌธ์ ๋ฐ์์ readline ๋ชจ๋๋ก ์ฝ์ด์ค๋ ๋ฒ์ ์ถ๊ฐํ ์์ ์ ๋๋ค. readline๋ณด๋ค ๊ฐํธํฉ๋๋ค.
file system modul๋ก ํ์ผ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์์ฑ ๋ฑ์ ํ ์ ์๊ฒ ๋์์ฃผ๋ ๋ชจ๋์ ๋๋ค. ์ด ๋ชจ๋์ ๊ฐ์ ธ์์ ์ฌ์ฉํฉ๋๋ค.
// require(import)ํด ์ต๋๋ค.
const fs = require('fs');
๊ฐ์ ธ์จ ๋ชจ๋์ ์ฌ์ฉํด์ ํ์ผ์ ์ฝ์ด์ต๋๋ค.
const inputValue = fs.readFileSync('/dev/stdin')
์ฝ์ด์จ ํ์ผ์ ์ ๋ ฅ ๊ฐ์ ๋ง๊ฒ ์ ์ ํฉ๋๋ค. ๋ํ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
// ์
๋ ฅ๊ฐ์ด ํ ๊ฐ์ ๋ฌธ์์ผ ๋('a')
const inputWord = fs.readFileSync('/dev/stdin').toString().trim();
// ์
๋ ฅ๊ฐ์ด ํ ์ค์ ๋ฌธ์์ผ ๋('a b c')
const inputWords = fs.readFileSync('/dev/stdin').toString().trim().split(' ');
// ์
๋ ฅ๊ฐ์ด ์ฌ๋ฌ ์ค์ ๋ฌธ์์ผ ๋('a /n b')
const inputWords = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
// ์
๋ ฅ๊ฐ์ด ํ ๊ฐ์ ์ซ์์ผ ๋(2)
const input = fs.readFileSync('/dev/stdin').toString().trim(); // '2'
const num = Number(input) // 2
// ์
๋ ฅ๊ฐ์ด ์ฌ๋ฌ ์ซ์์ผ ๋(2 3 4)
const input = fs.readFileSync('/dev/stdin').toString().trim().split(); // ['2', '3', '4']]
const numArr = input.map(n => Number(n)) // [2, 3, 4]
// ์ซ์(2)+ ํ ์ค์ ๋ฌธ์(a b c)๋ฅผ ์
๋ ฅ๋ฐ์์ ๋
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); // ['2', 'a b c']
const n = Number(input[0]); // 2
const arr = input[1].split(' '); // [a, b, c]
์ด๋ฐ ์์ผ๋ก ์ ๋ ฅ ๊ฐ์ ๋ฐ๋ผ ์ ์ ํ์ฌ ์ฌ์ฉํฉ๋๋ค.