๋ฌธ์
https://www.acmicpc.net/problem/1620
1620๋ฒ: ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
์ฒซ์งธ ์ค์๋ ๋๊ฐ์ ์๋ก๋์ด ์๋ ํฌ์ผ๋ชฌ์ ๊ฐ์ N์ด๋ ๋ด๊ฐ ๋ง์ถฐ์ผ ํ๋ ๋ฌธ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ ธ. N๊ณผ M์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ธ๋ฐ, ์์ฐ์๊ฐ ๋ญ์ง๋ ์์ง? ๋ชจ๋ฅด๋ฉด
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 1620๋ฒ ๋ฌธ์ - ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
import sys
n, m = map(int, input().split())
# ๋ฆฌ์คํธ์ ํฌ์ผ๋ชฌ ์ ์ฅ
pokedic_int_key = {} # Key๊ฐ์ด int์ธ dictionary
pokedic_name_key = {} # Key๊ฐ์ด str์ธ dictionary
for i in range(n):
name = sys.stdin.readline().strip()
pokedic_int_key[i] = name
pokedic_name_key[name] = i
# ํฌ์ผ๋ชฌ ํ์
for _ in range(m):
item = sys.stdin.readline().strip()
# ์
๋ ฅ๊ฐ์ด int์ผ ๊ฒฝ์ฐ, key๊ฐ์ด int์ธ dictionary์์ value๋ฅผ ๊ฐ์ ธ์ด
if item.isdigit() == True: # isdigit -> O(n)
print(pokedic_int_key[int(item)-1])
# ์
๋ ฅ๊ฐ์ด int๊ฐ ์๋ ๊ฒฝ์ฐ (๋ฌธ์์ด์ผ๊ฒฝ์ฐ), key๊ฐ์ด str์ธ dictionary์์ value๋ฅผ ๊ฐ์ ธ์ด
else:
print(pokedic_name_key[item]+1)
์ฒ์์ ์๊ฐ์ด๊ณผ๊ฐ ๋ ์ ์๊ฐ์ ๋ ํด๋ณธ ๊ฒฐ๊ณผ ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ๋ฉด ์๊ฐ๋ณต์ก๋๊ฐ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ๊ตฌํํ์๋ค.
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] [๊ตฌํ] 14916๋ฒ_๊ฑฐ์ค๋ฆ ๋_ (0) | 2022.11.03 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] Class3_17626๋ฒ_Four Squares (0) | 2022.11.03 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_2407๋ฒ_ ์กฐํฉ (0) | 2022.10.31 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_11727๋ฒ_ 2 x n ํ์ผ๋ง 2 (0) | 2022.10.31 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_11659๋ฒ_๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (0) | 2022.10.31 |