728x90
https://www.acmicpc.net/problem/1620
1620๋ฒ: ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
์ฒซ์งธ ์ค์๋ ๋๊ฐ์ ์๋ก๋์ด ์๋ ํฌ์ผ๋ชฌ์ ๊ฐ์ N์ด๋ ๋ด๊ฐ ๋ง์ถฐ์ผ ํ๋ ๋ฌธ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ ธ. N๊ณผ M์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ธ๋ฐ, ์์ฐ์๊ฐ ๋ญ์ง๋ ์์ง? ๋ชจ๋ฅด๋ฉด
www.acmicpc.net
์๊ณ ๋ฆฌ์ฆ [์ ๊ทผ ๋ฐฉ๋ฒ]
์ด ๋ฌธ์ ๋ dict๋ฅผ ์ฌ์ฉํด์ Key, value๋ก ๋น ๋ฅด๊ฒ ์ ๊ทผํ๋ ๊ฒ ํฌ์ธํธ๋ค.
ํ์ด
- ํฌ์ผ๋ชฌ์ ์ n๊ณผ ์ ๋ ฅ๋ฐ์ ๋ช ๋ น์ด ๊ฐ์ m์ mapํํ๋ก ์ ๋ ฅ๋ฐ๋๋ค.
- sys ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ์ ๋ ฅ์ ๋ฐ์์ผํ๋ค. (์๊ทธ๋ฌ๋ฉด ์๊ฐ์ด๊ณผ)
- sys๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๋ ฅ๋ฐ์ ๊ฒฝ์ฐ ๊ฐํ(\n)๊น์ง dict์ ์ ๋ ฅ๋๋ฏ๋ก rstrip() ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค.
- dict์ ํค์ ๋ฐธ๋ฅ๋ฅผ ์ ๋ ฅํ ๋, ๋ฒ๊ฐ์ 2๋ฒ ๋ฃ์ด์ค์ผ๋ก์จ ํฌ์ผ๋ชฌ์ด๋ ์ซ์๋ ํค๋ฐธ๋ฅ๋ก ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- m๋ฒ๋๋ก ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๋๋ง๋ค ์ซ์์ธ์ง ์๋์ง ํ์ธํ์ฌ ๊ฐ๊ฐ value๊ฐ์ ๋ถ๋ฌ์จ๋ค.
์ฝ๋
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
dict = {}
for i in range(1, n + 1):
a = input().rstrip()
dict[i] = a
dict[a] = i
for i in range(m):
quest = input().rstrip()
if quest.isdigit():
print(dict[int(quest)])
else:
print(dict[quest])
728x90