백준

백준 1620 문제풀이 [python]

ys.k 2023. 7. 31. 00:26

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

문제가 길어 필요한 부분만 가져왔다.

 

딱히 설명할 부분이 없다.

 

다만, 입력에는 2가지 경우가 있다.

 

1. 숫자

2. 문자

 

필자는, 2개의 해쉬테이블을 만들어 입력값의 형태에 따라 적절한 해쉬테이블에서 값을 조회하게끔 구현했다.

 

코드

import sys as s
n,m = map(int,s.stdin.readline().split())
array, array2={},{}

for i in range(1,n+1):
    name = s.stdin.readline().strip()
    array[name] = i
    array2[i] = name
for j in range(m):
    name = s.stdin.readline().strip()
    if name in array:
        print(array[name])
    else:
        print(array2[int(name)])

if 구문으로 숫자인지, 문자인지 구분하였다.