[๋ฐฑ์ค€-1620] ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ / Python

๐Ÿ“š Problem Solving/Baekjoon

https://www.acmicpc.net/problem/1620

 

1620๋ฒˆ: ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ

์ฒซ์งธ ์ค„์—๋Š” ๋„๊ฐ์— ์ˆ˜๋ก๋˜์–ด ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ๊ฐœ์ˆ˜ N์ด๋ž‘ ๋‚ด๊ฐ€ ๋งž์ถฐ์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ ธ. N๊ณผ M์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ธ๋ฐ, ์ž์—ฐ์ˆ˜๊ฐ€ ๋ญ”์ง€๋Š” ์•Œ์ง€? ๋ชจ๋ฅด๋ฉด

www.acmicpc.net

import sys
m, n = map(int, sys.stdin.readline().split())
pkmn = []
pkmn_dic = {}

for i in range(m):
    pk = sys.stdin.readline().rstrip()
    pkmn.append(pk)
    pkmn_dic[pk] = i + 1

for _ in range(n):
    search = sys.stdin.readline().rstrip()
    if search.isdigit():
        print(pkmn[int(search) - 1])
    else:
        print(pkmn_dic[search])

 

ํ•ด์„ค

๋”•์…”๋„ˆ๋ฆฌ๋‚˜ isdigit()๊ณผ ๊ฐ™์€ ๋‚ด์žฅ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋… ๋ณต๊ธฐ๋ฅผ ์‹œ์ผœ์ค€ ๋ฌธ์ œ์˜€๋‹ค.

์ž…๋ ฅ๊ณผ ๊ด€๋ จํ•ด์„œ rstrip() ๋•Œ๋ฌธ์— key error๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.. ๊ฒ€์ƒ‰ํ•ด์„œ ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋Š” rstrip()์„ ์ž…๋ ฅ์— ์‚ฌ์šฉํ•ด์•ผํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฝค ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ–ˆ๋‹ค..๐Ÿ˜ฅ