
파이썬 자료구조 딕셔너리(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 |