CodingTest/Baekjoon

[baekjoon] 백준 1620번(파이썬): 나는야 포켓몬 마스터 이다솜

JunJangE 2021. 10. 1. 10:24

문제

 

1620번: 나는야 포켓몬 마스터 이다솜

첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면

www.acmicpc.net

알고리즘

- 포켓몬의 알파벳 문제는 딕셔너리 자료형으로 수행하고 숫자 문제는 리스트 자료형으로 수행한다.

코드

import sys

n, m = map(int, sys.stdin.readline().split())
book_dic = {}
book_list = []

# 포켓몬의 개수를 반복하여 포켓몬의 이름을 입력받는다.
for i in range(n):
    poketmon = sys.stdin.readline().rstrip() # 포켓몬 이름
    # 포켓몬의 이름을 딕셔너리 형과 리스트 형으로 저장한다.
    book_dic[poketmon] = i + 1
    book_list.append(poketmon)

# 문제의 개수만큼 반복한다.
for _ in range(m):
    q = sys.stdin.readline().rstrip() # 포켓몬의 알파벳이나 번호

    # 입력받은 문제가 알파벳인지 숫자인지 구분한다.
    # 숫자라면 리스트에 (해당 숫자 - 1) 을 입력하여 출력한다.
    if q.isdigit():
        print(book_list[int(q) - 1])

    # 알파벳이라면 딕셔너리에 해당 알파벳을 입력하여 벨류값을 출력한다.
    else:
        print(book_dic[q])

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com