파이썬 백준 1620번
실버4
https://www.acmicpc.net/problem/1620
문제 보기
N 개의 단어를 입력한 후 이를 사전 삼아
M 번에 걸쳐 답안 요구 조건에 따라 문자인 이름 또는 순서인 숫자를 출력하는 문제이다.
문제 풀기
pokemon_encyclopedia = {} 를 set 으로 지정.
포켓몬의 이름을 하나하나 입력받되
pokemon_encyclopedia[i] = pkm
pokemon_encyclopedia[pkm] = i
를 통해 딕셔너리를 작성 시 key, value 를 "순서: 이름" 과 "이름: 순서" 둘 모두 저장.
작성된 딕셔너리를 확인해 보고자 중간 프린트해봄.
M 번의 for 문을 돌리면서 원하는 답안을 입력받아
그것이 숫자일 때는 포켓몬 이름 문자를 출력하고
그것이 문자일 때는 포켓몬 순서 숫자를 출력함.
이때, 입력받은 값이 숫자인지 문자인지 판별을 위해 "isdigit()" 함수를 사용.
코드 보기
import sys
inputdata = sys.stdin.readline
N, M = map(int, inputdata().split())
pokemon_encyclopedia = {}
for i in range(1, N + 1):
pkm = inputdata().strip()
pokemon_encyclopedia[i] = pkm
pokemon_encyclopedia[pkm] = i
print(pokemon_encyclopedia) # 작성된 딕셔너리의 이해를 돕기 위해 프린트해봄.
for _ in range(M):
answer = inputdata().strip()
if answer.isdigit():
print(pokemon_encyclopedia[int(answer)])
else:
print(pokemon_encyclopedia[answer])
# 26 5
# Bulbasaur
# Ivysaur
# Venusaur
# Charmander
# Charmeleon
# Charizard
# Squirtle
# Wartortle
# Blastoise
# Caterpie
# Metapod
# Butterfree
# Weedle
# Kakuna
# Beedrill
# Pidgey
# Pidgeotto
# Pidgeot
# Rattata
# Raticate
# Spearow
# Fearow
# Ekans
# Arbok
# Pikachu
# Raichu
# 25
# Raichu
# 3
# Pidgey
# Kakuna
# {1: 'Bulbasaur', 'Bulbasaur': 1, 2: 'Ivysaur', 'Ivysaur': 2, 3: 'Venusaur', 'Venusaur': 3, 4: 'Charmander', 'Charmander': 4, 5: 'Charmeleon', 'Charmeleon': 5, 6: 'Charizard', 'Charizard': 6, 7: 'Squirtle', 'Squirtle': 7, 8: 'Wartortle', 'Wartortle': 8, 9: 'Blastoise', 'Blastoise': 9, 10: 'Caterpie', 'Caterpie': 10, 11: 'Metapod', 'Metapod': 11, 12: 'Butterfree', 'Butterfree': 12, 13: 'Weedle', 'Weedle': 13, 14: 'Kakuna', 'Kakuna': 14, 15: 'Beedrill', 'Beedrill': 15, 16: 'Pidgey', 'Pidgey': 16, 17: 'Pidgeotto', 'Pidgeotto': 17, 18: 'Pidgeot', 'Pidgeot': 18, 19: 'Rattata', 'Rattata': 19, 20: 'Raticate', 'Raticate': 20, 21: 'Spearow', 'Spearow': 21, 22: 'Fearow', 'Fearow': 22, 23: 'Ekans', 'Ekans': 23, 24: 'Arbok', 'Arbok': 24, 25: 'Pikachu', 'Pikachu': 25, 26: 'Raichu', 'Raichu': 26}
# Pikachu
# 26
# Venusaur
# 16
# 14
'공부하기 > 백준' 카테고리의 다른 글
[Python] 백준 풀기 1904 - 01타일 (2) | 2022.09.30 |
---|---|
[Python] 백준 풀기 9184 - 신나는 함수 실행 (0) | 2022.09.29 |
[Python] 백준 풀기 24416 - 알고리즘 수업, 피보나치 수 1 (0) | 2022.09.27 |
[Python] 백준 풀기 14425 - 문자열 집합 (0) | 2022.09.26 |
[Python] 백준 풀기 10866 - 덱 (2) | 2022.09.24 |