js๋ ๋ค๋ฅธ ์ธ์ด์ ๋ค๋ฅด๊ฒ ์ ๋ ฅ๋ฐ๋ ๋ถ๋ถ๋ถํฐ ๊ณ ๋์ด ์์๋ ๊ฑฐ ๊ฐ๋ค.
์ ๋ ฅ๋ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์ ๋ฆฌ๋ฅผ ํด๋ณด์๋ฉด
let [a, b] = require("fs")
.readFileSync('/dev/stdin')
.toString()
.trim()
.split('\n');
์์ ์ฝ๋์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก a์ b๋ฅผ ๋์์ ๋ฐ๋ ๋ฐฉ๋ฒ์ ์์๋ก ๋ํ๋ด๊ณ ์๋ค.
์ผ๋จ ์ ๋ ฅ๋ฐ๋ ๋ฐฉ์๋ถํฐ ์ชผ๊ฐ์ด ํ๋ํ๋ ๋ณด์๋ฉด
let
๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐฉ๋ฒ์๋ var, let, const ์ด๋ ๊ฒ 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค๊ณ ํ๋ค.
var์ ๊ฒฝ์ฐ์๋ ํธ์ด์คํ
์ด๋ ์ฌ์ ์ธ ๋ฑ ์ฝ๋๋ฅผ ๊ตฌ์ฑํจ์ ์์ด์ ๋ถํธํ ๋ถ๋ถ๋ค์ด ๋ง์์ ์ฌ์ฉ X
let์ ์ฐ๋ฆฌ๊ฐ ํํ ํ๋ ์ง์ญ๋ณ์๋ผ๊ณ ์๊ฐํ๋ฉด ๋๊ณ
const์ ๊ฒฝ์ฐ์๋ ์ ์ธ์ด ๋ ๋์๋ง ๊ฐ์ ์์ ํ ์ ์๊ณ ๊ทธ ์ดํ์๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๊ฐ์ด๋ผ๊ณ ํ์ฌ
์ด๋ฒ ๋ฌธ์ ์์๋ let๋ฅผ ์ฌ์ฉํ์๋ค.
[a, b]
js์ ๊ฒฝ์ฐ์ 2๊ฐ์ง ๊ฐ์ ๋์์ ๋ฐ์ผ๋ ค๋ฉด ๊ดํธ๋ก ๋ฌถ์ด์ผ split์์ a์ b์ ๊ฐ์ ๋ฐ๋ก ๋ฐ๋ก ๋ด์ ์๊ฐ ์๋ค๊ณ ํ๋ค.
( ๊ดํธ๋ก ๋ฌถ์ง์๋ ๊ฒฝ์ฐ์๋ b์๋ง [ '4', '4' ] ํ์์ผ๋ก ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค. )
require("fs")
require์ ๋ฉ์๋๋ฅผ ํตํด ์ธ๋ถ ๋ชจ๋์ ๊ฐ์ ธ์ค๋ ์ญํ ์ ํ๋ค. c++์ include ์ ๋น์ทํ ๊ฐ๋ ์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค.
readFileSync('/dev/stdin')
readFileSync์ ๊ฒฝ์ฐ์๋ scanf๋ std::cin ์์ ํ๋ ์ญํ ์ ์๋์ผ๋ก ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ์ ๋ ฅํ๋ ์ ๋ ฅ๊ฐ์ ๊ฒฝ์ฐ์๋ ‘/dev/stdin’ ๋ผ๊ณ ํ๋ ์์น์ ์ ๋ ฅ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋๋๋ฐ ์ ํจ์์์ ๊ทธ ํ์ผ์ ์ง์ ์ ๊ทผํ์ฌ ์ ๋ ฅ๊ฐ์ ๋นผ๋ด์ด ์จ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
toString()
์์์๋ readFileSync(’/div/stdin’)์์ toString()์ ํด๋นํ๋ ๊ฐ์ ๊ฐ์ ธ์จ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
trim()
๋ฌธ์์ด์ ์๋ ์๋ค ๊ณต๋ฐฑ์ ์์ ์ฃผ๋ ์ญํ
split('\n')
split์ ๋ด๊ธด ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ผ์ฃผ๋ ์ญํ
์์ ๊ฐ์ ์ญํ ๋ค์ด ๋ชจ์ฌ์ผ ์ ์์ ์ผ๋ก ์ ๋ ฅ๊ฐ์ ๋ฐ์ ์ ์๊ฒ ๋๋ค.
๋ฐ์ ์ ๋ ฅ๊ฐ์ console.log()๋ฅผ ํตํด์ ์ ์์ ์ผ๋ก ์ถ๋ ฅํ ์ ์๋ค.
์์ ๊ฐ๋ค์ ์์ฉํ์ฌ ์์๋ฅผ ๋ช๊ฐ ๋ ์ ์๋ฅผ ํด๋ณด์๋ฉด
let [a, b] = require("fs")
.readFileSync('/dev/stdin')
.toString()
.trim()
.split('\n')
.map(Number);
์์ ๊ฐ์ ํ์์ผ๋ก map(Number)์ ์ถ๊ฐํ๊ฒ ๋๋ฉด ๋ค์ด์ค๋ ๊ฐ๋ค์ int ํ์์ผ๋ก ๋ฐ๊ฒ ๋ค๋ ์๋ฏธ
let [a, b] = require("fs")
.readFileSync('/dev/stdin')
.toString()
.trim()
.split(' ');
split(' ') ์์ ํด๋นํ๋ ๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พธ๋ฉด ์ค๋ฐ๊ฟ์ด ๊ธฐ์ค์ด์๋๋ผ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ์๋ฅด๊ฒ ๋ค๋ผ๋ ์๋ฏธ
'programming language > Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Javascript ๊ธฐ์ด ์ ๋ฆฌ (1) | 2021.09.11 |
---|---|
JS ๋๋ฐ์ด ์นด์ดํธ ๊ณ์ฐ (3) | 2021.09.01 |