Python์์ ์ ๋ ฅ์ ๋ฐ๋ ๋ฐฉ๋ฒ์ input()ํจ์์ sys ๋ชจ๋์ importํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(sys.stdin.readline())์ด ์๋ค. ํ์ด์ฌ์ผ๋ก ์ฝ๋ฉ๋ฌธ์ ๋ฅผ ํ ๋ ์ ๋ ฅ์๊ฐ ๋ง์ ๋๋ input๋ณด๋ค sys.stdin.readline์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ๋ค๊ณ ๋ค๋ค ์๊ณ ์์ ๊ฒ์ด๋ค. ๊ทธ๋์ ๋๋ ์ ๋งํ ์ฝ๋ฉ๋ฌธ์ ๋ฅผ ํ ๋ sys.stdin.readline๋ฅผ ์ฌ์ฉํ๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋๋ , ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ input()๊ณผ sys.stdin.readline()์ ์ฐจ์ด์ ์ธ ๊ฐํ ๋ฌธ์ ์ฌ๋ถ์ ๋ํด ์ ๋๋ก ์ธ์งํ์ง ๋ชปํ ์ํ์์ ์ฌ์ฉ์ ํ๋ค๊ฐ ํด๋งจ์ ์ด ์์๋ค. ๊ทธ๋์ ์ด๋ฒ๊ธฐํ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ณ ์ ํ๋ค.
input()
- prompt ์ธ์๊ฐ ์์ผ๋ฉด, ๊ฐํ์์ด ํ์ค ์ถ๋ ฅ์ผ๋ก ๊ธฐ๋ก๋๋ค.
- input() ์ผ๋ก ๋ถํฐ ๋ฐ์ ์ ๋ ฅ์ ๊ฐํ๋ฌธ์๋ฅผ ๋ฒ๊ฒจ์(stripping) ๋ฌธ์์ด๋ก ๋ณํํ ๊ฐ์ ๋ฆฌํดํ๋ค.
- EOF(End of file)์ด ์ฝํ์ง๋ฉด, EOFError๋ฅผ ๋ฐ์์ํจ๋ค.
EOF(End of file)์ด๋?
ํ์ผ์ ๋์ ์๋ฏธํ๋ฉฐ ๋ฐ์ดํฐ ์์ค๋ก๋ถํฐ ๋ ์ด์ ์ฝ์ ์ ์๋ ๋ฐ์ดํฐ๊ฐ ์์์ ๋ํ๋ธ๋ค. C์ธ์ด์์๋ EOF๋ -1์ด๋ผ๋ ์์๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
์ฆ, input์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ๊ฐํ(์ค๋ฐ๊ฟ) ๋ฌธ์๋ฅผ ์ญ์ ์์ผ์ ๋ฐ์์จ๋ค๋ ๊ฒ์ด๋ค. ๊ธฐ์กด์ ๋ฌธ์์ด์์ ๊ฐํ ๋ฌธ์๋ฅผ ์ญ์ ์ํค๋ ์์ ์ ์ทจํ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋๋ ค์ง๋ ๊ฒ์ด๋ค.
sys.stdin.readline
sys ๋ชจ๋์ Python ์ธํฐํ๋ฆฌํฐ๊ฐ ์ ๊ณตํ๋ ๋ณ์์ ํจ์๋ฅผ ์ง์ ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๋ ๋ชจ๋์ด๋ค.
stdin ์ sys ๋ชจ๋์์ ์๋ ํ์ผ ๊ฐ์ฒด์ด๊ณ ๊ณต์๋ฌธ์์ ๋ฐ๋ฅด๋ฉด,
- stdin ์ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ๊ฐ ํ์ค ์ ๋ ฅ์ ์ฌ์ฉํ๋ ํ์ผ ๊ฐ์ฒด
- readline() ์ ํ์ผ ๊ฐ์ฒด์ ๋ฉ์๋ ์ค ํ๋๋ก read(), readlines() ์ ๊ฐ์ด ํ์ผ ๊ฐ์ฒด๋ฅผ ์ฝ์ ๋ ์ฌ์ฉํ๋ค.
sys.stdin.readline() ์ sys ๋ผ๋ ๋ชจ๋์ ํ์ผ ๊ฐ์ฒด stdin ์ ๋ฉ์๋ ์ค readline() ์ ์ฌ์ฉํ๋ค๋ ์๋ฏธ์ด๋ค. readline() ์ ์ ๋ ฅ์ ์ฝ์ ๋ ํ ๋ฒ์ ํ ์ค์ฉ ์ฝ๋๋ฐ, ์ด ๋ง์ ์ฌ๋ฌ ์ค์ ์ ๋ ฅ์ด ์์ ๋ ํ ์ค์ ์ฝ๊ณ ๋๋ฉด ๊ทธ ๋ค์ ์ค์ ๊ฐ๋ฆฌํจ๋ค๋ ๋ป์ด๋ค.
์ฆ, sys.stdin.realine์ ๊ฐํ(์ค๋ฐ๊ฟ) ๋ฌธ์๋ฅผ ํฌํจํ ๊ฐ์ ๋ฐ์์จ๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ input๋ณด๋ค ์๋๋ฉด์์ ๋น ๋ฅด๋ค ๋ณผ ์ ์๋ค.
์ ๋ฆฌํ์๋ฉด, ์ ๋ ฅ์๊ฐ ๋ง๊ฑฐ๋ ์๋๊ฐ ์ค์ํ ๋ฌธ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ ๊ฒฝ์ฐ์๋ sys.stdin.readline์ ์ฐ๋๊ฒ์ด ์ ๋ฆฌํ๋ค. ํ์ง๋ง ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ๋ฌธ์ ์์๋ input์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์๋ฅผ ์ค์ผ ์ ์๋ค.
'Skill Up๐ฅ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
join ํจ์ ์ ๋ฆฌ(๋ฌธ์์ด ํฉ์น๊ธฐ) (0) | 2022.10.06 |
---|---|
defaultdict ์ ๋ฆฌ (0) | 2022.05.03 |
๋์ ๋๋ฆฌ ์๋ฃํ ์ ๋ฆฌ (0) | 2022.05.03 |
Python ์ ๋ ฌ ํจ์ sort,sorted ์ ๋ฆฌ (0) | 2022.03.07 |