728x90
๐ ๋ฐฑ์ค 1620 - ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
๋ฐฑ์ค 1620 - ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
โก๏ธ ๋์ ํ์ด
ํฌ์ผ๋ชฌ์ ์ข์ํด์ ํ์ด๋ดค๋ค.
์
๋ ฅ์ ๋ฒ์๊ฐ 100,000
๊น์ง๋ก ์ฃผ์ด์ ธ์๊ธฐ ๋๋ฌธ์ ๋ฆฌ์คํธ๋ก ํ๊ธฐ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ ๊ฒ ๊ฐ์ dict
์ hash
๋ฅผ ์ด์ฉํ์ฌ ํ์๋ค. (hash ์ ๊ทผ ์๊ฐ๋ณต์ก๋๋ O(1))
dict์์ value
์ ๊ฐ์ ์ฐพ๋๊ฒ์ dict[key]
๋ฅผ ๋ฃ์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ์ฌ์ ์ผ๋ ๋ฐ๋๋ก key
๋ฅผ ์ฐพ๋๊ฒ์ dict
๋ก๋ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ dict.keys()
๋ง์ ๋ฝ์ ๋ฆฌ์คํธ๋ก ๋ง๋๋ list(dict.keys())
๋ฅผ ์ฌ์ฉํ๊ณ , ์ฌ๊ธฐ์ ๋ช ๋ฒ์งธ์ธ์ง ์๊ธฐ ์ํด ์ธ๋ฑ์ฑ์ ์ฌ์ฉํ๋ค.
- ์
๋ ฅ์
key:value
ํํ์ธdict
๋ก ๋ฃ์ด์ค๋ค.(์ด๋,key
๋ ํฌ์ผ๋ชฌ ์ด๋ฆ,value
๋ ์ ๋ ฅ ์์) key
๋ง ๋ชจ์ ์๋ก์ดlist
๋ฅผ ์์ฑํ๋ค.- ์
๋ ฅ์ด
isdigit()
๋ฉดkey
๋ฅผ ์ถ๋ ฅํ๊ณnot isdigit()
๋ฉดvalue
๋ฅผ ์ถ๋ ฅํ๋ค.
# ๋์ ์ฝ๋
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
pocket_books = {}
for i in range(1, n+1):
name = input().strip()
pocket_books[name] = i
pocket_books_keys = list(pocket_books.keys())
for _ in range(m):
name_or_number = input().strip()
if name_or_number.isdigit():
print(pocket_books_keys[int(name_or_number) - 1])
else:
print(pocket_books[name_or_number])
๋ฐ์ํ
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1874 - ์คํ ์์ด (0) | 2021.06.30 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10546 - ๋ฐฐ๋ถ๋ฅธ ๋ง๋ผํ ๋ (0) | 2021.06.29 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 17608 - ๋ง๋๊ธฐ (2) | 2021.06.28 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1021 - ํ์ ํ๋ ํ (0) | 2021.06.27 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 13335 - ํธ๋ญ (6) | 2021.06.25 |
๋๊ธ