파이썬 자료구조 딕셔너리(dictionary)

  • key-value 쌍으로 데이터를 저장하는 자료구조
  • map이라고 생각하면 됨

person = {"name": "Alice", "age": 25}

book = {} -> 이런 식으로 선언하면 됨

dict.get(key) key 없을 때 에러 대신 None 반환
dict.keys() 모든 키 반환
dict.values() 모든 값 반환
dict.items() (key, value) 쌍 튜플로 반환
dict.pop(key) 해당 키 제거 + 값 반환
dict.clear() 전체 비우기

 

특정 키가 존재하는지 확인하는 방법

person = {"name": "Alice", "age": 25}

print("name" in person)   # ✅ True
print("gender" in person) # ❌ False

 

정답

  • 알파벳도 sort(), sorted() 함수로 오름차순, 내림차순 정렬이 가능함
n = int(input())
book = {}

for _ in range(n):
    title = input()

    # 이미 딕셔너리에 값이 있다면 1 증가, 아니라면 값 1 넣기
    if title in book:
        book[title] = book[title] + 1
    else:
        book[title] = 1

# 딕셔너리의 값들 중, 가장 큰 수 추출
best = max(book.values())

ans = []
# 딕셔너리를 탐색하며 가장 큰 수와 같은 값을 가진 책 이름 리스트에 추가
for key, value in book.items():
    if value == best:
        ans.append(key)
# 오름차순으로 알파벳 정렬
a = sorted(ans)
print(a[0])

'Algorithm' 카테고리의 다른 글

1926 그림 / DFS, BFS  (0) 2025.05.27
1246 온라인 판매 / 그리디  (0) 2025.05.26
1697 숨바꼭질 / DFS, BFS  (0) 2025.05.24
1012 유기농 배추 / DFS, BFS  (0) 2025.05.23
2468 안전 영역 / DFS, BFS  (1) 2025.05.22

+ Recent posts