[Python] 백준 알고리즘 온라인 저지 10814 나이순 정렬
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
나이순으로만 정렬하고 나이가 같다면 먼저 가입한 사람이 출력되야하므로 sort와 lambda를 함께 이용하여 풀이하였다.
코드
n = int(input())
users = []
for i in range(n):
user_age, user_name = map(str, input().split())
user_age = int(user_age)
users.append((user_age, user_name))
users.sort(key = lambda age: (age[0]))
for i in users:
print(i[0], i[1])
풀이 설명
n번만큼 반복하는 for문을 작성하고 처음에는 users를 리스트로 선언하여 풀이하려 했지만 조금 더 직관적으로 코트를 작성하고 user_age를 int로 바꾸기 위해 다시 for문을 작성해야 하는 번거로움 때문에 두 값을 따로 받아 나이를 integer로 수정하고 users 리스트에 추가하였다.
이후에는 users 리스트안의 리스트의 첫 번째 요소만을 정렬하여 준다. (key = lambda x: (x[0]) 람다 표현식)
이후 for문으로 users 리스트를 출력한다. 각 리스트의 요소들(users[i][0], users[i][1]) 출력해야 한다.
풀이 결과
'알고리즘' 카테고리의 다른 글
백준 10828번 스택 파이썬 풀이 (0) | 2022.01.31 |
---|---|
백준 18870번 좌표 압축 파이썬 풀이 (0) | 2022.01.30 |
백준 1181번 단어 정렬 파이썬 풀이 (0) | 2022.01.26 |
백준 11651번 좌표 정렬하기 2 파이썬 풀이 (0) | 2022.01.24 |
백준 11650번 좌표 정렬하기 파이썬 풀이 (0) | 2022.01.22 |