백준 1620번 나는야 포켓몬 마스터 이다솜(python)

마뇽미뇽·2025년 3월 8일
0

알고리즘 문제풀이

목록 보기
125/165

1.문제

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

2.풀이

단순히 리스트에 값을 저장한 후
질문이 숫자라면 -> 포켓몬 이름
숫자가 아니라면 -> 포켓몬 도감 번호(인덱스)를 출력하는 형식으로 생각했고 index 함수를 사용했었고 시간 초과가 나왔다. 그래서 도감 번호와 포켓몬 이름을 같이 저장하기 위해 딕셔너리를 사용해야했다.

3.코드

m,n = map(int, input().split())
pocketmons = []
pocketmons_idx = dict()

for i in range(m):
    name = input()
    pocketmons.append(name)
    pocketmons_idx[name] = i + 1

for i in range(n):
    question = input()
    if question.isdigit():
        print(pocketmons[int(question) - 1])
    else:
        print(pocketmons_idx[question])

4. 알게된 점

📚 딕셔너리는 키와 값이 쌍으로 존재하는 데이터를 저장할때 사용하며 각 키를 각각 조회가 가능하다.(자바의 맵과 유사) 따라서 다른 자료형을 저장해야할 때 사용하고 빠르게 조회해야할 때 사용한다.
추가적으로 enumerate에 대해서도 찾아보았는데 인덱스와 값을 동시에 반복을 돌리고 싶을때 사용한다고 한다.

https://velog.io/@turningtwenty/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%82%B4%EC%9E%A5%ED%95%A8%EC%88%98-enumerate

profile
Que sera, sera

0개의 댓글