์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ์ฒ์ ํ์ด๋ณด๊ธฐ ์ํด ๋ฐฑ์ค ์ฌ์ดํธ๋ฅผ ์ ํํ์์ต๋๋ค.
๋ฐฑ์ค์์๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ Node.js๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ฒ์ ๋ฐฑ์ค ์ฌ์ดํธ์์ ํ์ด๋ณด์ ๋ถ๋ค์ ์์๊ฒ ์ง๋ง ํจ์๋ง ๋ฌ๋ ์ ์ด๋๊ณ ์ ์ถํ๋ฉด ๋ฐํ์ ์ค๋ฅ๊ฐ ๋น๋๋ค.
๋ฐฑ์ค ์ฌ์ดํธ์์๋ ๋ค๋ฅธ ์ฌ์ดํธ๋ค๊ณผ ๋ฌ๋ฆฌ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ง์ ํด์ฃผ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐฑ์ค์์ Node.js๋ก ์ ๋ ฅ์ ๋ฐ๋ ๋ฐฉ๋ฒ์ผ๋ก readline ๋ชจ๋๊ณผ fs ๋ชจ๋ ๋๊ฐ์ง๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ ๋ฐฑ์ค ์ฌ์ดํธ ๋์๋ง์ ์๋ fs ๋ชจ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์์ต๋๋ค. (readline ๋ชจ๋๋ณด๋ค ์ฒ๋ฆฌ์๋๊ฐ ๋น ๋ฅด๋ค.)
// fs = ํ์ผ ์
์ถ๋ ฅ ์ฒ๋ฆฌ, 'dev/stdin'ํ์ผ์์ ์
์ถ๋ ฅ์ ๊ฐ์ ธ์์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ์๋ผ์ค๋ค.
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
// ๊ตฌํ๋ถ
console.log(a + b);
์์ค ์ฝ๋๋ฅผ ์ ์ถํ๊ธฐ ์ ์ VS Code์์ ๊ฒฐ๊ณผ๋ฅผ ๋จผ์ ํ์ธํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์์ .txt ํ์ผ์ ์์ฑํฉ๋๋ค.
๋ฐฑ์ค ๋ฌธ์ ์ ๋์ ์๋ ์์ ์ ๋ ฅ์ .txt ํ์ผ์ ์ ์ ํ ์ ์ฅํฉ๋๋ค.
์ ์ฝ๋์์ '/dev/stdin' ๋ถ๋ถ์ '์์ .txt'๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
var input = fs.readFileSync('์์ txt.').toString().split(' ');
๋ํ ์ด ์ฝ๋๋ฅผ ์ ์ฌ์ฉํ๋ฉด ๋ค์ํ ์ ๋ ฅ์ ๋ฐ์ ์ ์์ต๋๋ค. ex) ๋ ์ค ์ ๋ ฅ
var input = fs.readFileSync('์์ .txt').toString().split('\n');
ํฐ๋ฏธ๋(ctrl + `)์ ์ด์ด์ npm install์ ํตํด fs ๋ชจ๋์ ์ค์นํด ์ค๋๋ค. ์ด๋ก์จ Node.js ํ๊ฒฝ์์ ํ์ผ์์คํ ์ ์ ๊ทผ์ด ๊ฐ๋ฅํด ์ง๋๋ค.
$ npm install fs
fs ๋ชจ๋์ ์ค์นํ ํ ํฐ๋ฏธ๋์ node ํ์ผ๋ช .js๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ๊ณผ๊ฐ ์ ๋๋ก ์ถ๋ ฅ๋๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ๊ฐ ์ ๋๋ก ์ถ๋ ฅ๋์ด ๋ฐฑ์ค ์ฌ์ดํธ์ ์ ์ถํ ๋๋ ๋ค์ '/dev/stdin'์ผ๋ก ๋ฐ๊ฟ์ค์ผ ํฉ๋๋ค.
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Node.js/JavaScript] ๋ฐฑ์ค 1157๋ฒ ๋จ์ด ๊ฐ์ (0) | 2022.07.05 |
---|---|
[Node.js/JavaScript] ๋ฐฑ์ค 10809๋ฒ ์ํ๋ฒณ ์ฐพ๊ธฐ (0) | 2022.07.03 |
[Node.js/JavaScript] ๋ฐฑ์ค 2908๋ฒ ์์ (0) | 2022.06.30 |
[Node.js/JavaScript] ๋ฐฑ์ค 1152๋ฒ ๋จ์ด์ ๊ฐ์ (0) | 2022.04.17 |
[Node.js/JavaScript] ๋ฐฑ์ค 1546๋ฒ ํ๊ท (0) | 2022.04.16 |