โ ๋ฌธ์
์ ๋ ฅ๋ ๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์ง๊ธฐ
โ๐ฅ ์ ๋ ฅ
์ ๋ ฅ์ด ์ฃผ์ด์ง๋ค. ์ ๋ ฅ์ ์ต๋ 100์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ์ํ๋ฒณ ์๋ฌธ์, ๋๋ฌธ์, ๊ณต๋ฐฑ, ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ์ค์ 100๊ธ์๋ฅผ ๋์ง ์์ผ๋ฉฐ, ๋น ์ค์ ์ฃผ์ด์ง์ง ์๋๋ค. ๋, ๊ฐ ์ค์ ๊ณต๋ฐฑ์ผ๋ก ์์ํ์ง ์๊ณ , ๊ณต๋ฐฑ์ผ๋ก ๋๋์ง ์๋๋ค.
โ๐ฅ ์ถ๋ ฅ
์ ๋ ฅ ๋ฐ์ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ค.
โ
๐ก ํ์ด
์ฒ์์๋ ์ฅ? ์ด๊ฒ ์ ๋ต๋ฅ 30ํผ์ผํธ ๋ฐ์ ์ ๋๋ค๊ตฌ? ์๊ฐํ๋๋ฐ ๋๋ ํ๋ ธ๋ค. ๋ณดํต์ ๋ฌธ์ ์์ n๊ฐ์ ์ค์ ์ ๋ ฅ์ ๋ฐ์ผ๋ผ๋ ๋ฐ๋ณต ํ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์ด ๋ฌธ์ ์์๋ n์ ์๋ ค์ฃผ์ง ์๋๋ค. ์ ๋ ฅ๊ฐ์ด ๋ช ๋ฒ ์ฃผ์ด์ง๋์ง๋ ๋ชจ๋ฅด์ง๋ง ์ ๋ ฅ๋ ๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅํด์ผํ๋ ๋ฌธ์ ์ด๋ค. ๊ทธ๋์ while๋ฌธ์ ๋๋ ค์ฃผ๊ณ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด break๋ฅผ ๊ฑธ์ด ์ฃผ๋ ๊ฒ ํต์ฌ์ด๋ค.
input()๊ณผ sys.stdin.readlines()๋ฅผ ์ด์ฉํ์ฌ ๋ ๊ฐ์ง๋ก ํ์ดํ๋ค.
โ 1. input() ํจ์๋ฅผ ์ด์ฉํ ํ์ด
while True:
try:
print(input())
except EOFError:
break
input() ํจ์ ์ฌ์ฉ ์ EOF ์๋ฌ๋ฐ์์ try-except ๊ตฌ๋ฌธ์ผ๋ก break๋ฅผ ๊ฑธ์ด์ค์ผ๋ก์จ ํด๊ฒฐํ์๋ค.
์ฌ๊ธฐ์ try-except๋ฌธ์ผ๋ก ์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ค ์ด์ ๋ ๋ง์ฝ ์ค์ด ๋ชจ๋ ๋๋๊ฒ ๋๋ฉด๋ฉด ์ ๋ ฅ ๊ฐ์ด ๋ ์ด์ ์์ด์ EOFError๊ฐ ๋ฐ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. EOFError๋ End-Of-File์ ์ค์๋ง๋ก, ๋ง ๊ทธ๋๋ก ์ ๋ ฅ๊ฐ์ด ์์ด์ง๋ ์ํฉ์ ์ฒ๋ฆฌํด์ค๋ค.
โ 2. sys.stdin.readlines() ๋ฅผ ์ด์ฉํ ํ์ด
import sys
words = sys.stdin.readlines()
for word in words:
print(word.rstrip())
์ฌ๊ธฐ์๋ try-except๊ตฌ๋ฌธ์ ์ฐ์ง ์๋๋ค. ๋ง์ฝ try-except์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ๋๋ฉด ์ถ๋ ฅ ์ด๊ณผ ์ค๋ฅ๊ฐ ๋๋ค.
์ฌ๊ธฐ์ input()๊ณผ sys.stdin.readline()์ ์ฐจ์ด๊ฐ ์๋ค. input()์ EOF๋ฅผ ๋ฐ์ ๋ EOFError๋ฅผ ์ผ์ผํค์ง๋ง sys.stdin.readline์ EOF๋ฅผ ๋ฐ์ ๋ ๋น ๋ฌธ์์ด์ ๋ฆฌํด ํ๋ค. ๋ฐ๋ผ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๋ง์ฝ์ sys.stdin.readline ํจ์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด, EOFError๋ฅผ ๋ฐ์์ํค์ง ์๊ณ EOF๋ฅผ ๋น ๋ฌธ์์ด๋ก ๋ฐ๋ ํน์ฑ์ ์ด์ฉํด if ๋ฌธ์ผ๋ก ํ์ธํ๋ ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ ๊ฒ์ด๋ค.
import sys
while True:
words = sys.stdin.readline().rstrip()
if s == '':
break
else:
print(words)
'Algorithm > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1330๋ฒ ๋ ์ ๋น๊ตํ๊ธฐ - ์๋ฐ / java (1) | 2024.04.02 |
---|---|
[๋ฐฑ์ค] 10172๋ฒ ๊ฐ - ์๋ฐ/java (0) | 2024.04.02 |
[๋ฐฑ์ค] 10171๋ฒ ๊ณ ์์ด - ์๋ฐ/java (0) | 2024.04.02 |
[๋ฐฑ์ค] 11719๋ฒ ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ2 - ์๋ฐ/java (0) | 2024.03.28 |
[๋ฐฑ์ค] 10869๋ฒ ์ฌ์น์ฐ์ฐ - ํ์ด์ฌ/python3 (1) | 2024.03.27 |