백준 문제풀이/백준 Silver

BOJ 10814 - 나이순 정렬 [Python]

LKBaekjoon 2023. 10. 29. 23:12
반응형

10814번: 나이순 정렬 (acmicpc.net)

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

문제 설명은 다음과 같다.

문제 설명 / 입력 / 출력
예제 입력 / 예제 출력

앞서 포스팅한 BOJ-10815에서 쓰인 사고와 유사한 사고를 통해 알고리즘을 금방 만들어낼 수 있었다.

 

1. Age를 Key 값으로, 그리고 Nickname을 원소로 가지는 리스트를 Value 값으로 밀어넣는 딕셔너리를 만든다.

2. Key값을 기준으로 Dictionary를 Sort 한다. (나이 순으로 정렬 완료)

3. for 문을 돌면서 Key 값에 있는 Value값들을 하나씩 출력한다. (가입 순서대로 이름 출력 완료)

 

아래는 제출한 파이썬 코드이다.

test_case = int(input())

info_list = dict()

for _ in range(test_case):
    age, name = map(str,input().split())
    try:
        info_list[int(age)].append(name)
    except KeyError:
        info_list[int(age)] = []
        info_list[int(age)].append(name)

keys = sorted(info_list.keys())
for key in keys:
    v = info_list[key]
    for elem in v:
        print(str(key)+" "+elem)
반응형