https://www.acmicpc.net/problem/10814
n = int(input())
members = dict() # 회원 정보 저장할 딕셔너리
for i in range(n):
age, name = map(str, input().split())
age = int(age)
# {나이:[이름]} 튜플 형태로 저장.
# 만약 age가 존재한다면, 이름 리스트에 현재 받은 이름 추가
if age in members:
members[age].append(name)
# age 존재하지 않으면, 새로 추가
else:
members[age] = [name]
# print('members:', members)
# 출력
# 나이가 오름차순이 되도록 프린트해야하므로
# members.keys()를 정렬한다
for age in sorted(members.keys()):
for name in members[age]:
print(age, name)
첫 제출에 실패된 것은 출력할 때, 나이가 오름차순이 되도록 정렬하지 않았기 때문이었다! 🙄 실수!
딕셔너리를 적극 활용해 본 문제이다😊
🔼 age와 name이 입력될 때마다, 딕셔너리인 members 내에 이미 age라는 key가 존재하는지 확인한다. 존재하면 age의 value로 저장된 name들이 저장된 리스트에 현재 입력된 name을 추가한다. 존재하지 않으면 새 age 키를 만들고, value를 [name]으로 주면 된다.