https://www.acmicpc.net/problem/10814
이 문제는 회원들을 나이가 증가하는 오름차순으로 정렬한 뒤, 나이가 같으면 먼저 가입한 순서(이것도 오름차순)으로 정렬한다. 다중 조건으로 정렬하는 문제인데, 익명함수 람다(lambda)를 사용해서 풀었다.
users = dict()
n = int(input())
for i in range(n):
age, name = input().split()
users[i] = (int(age), name)
sorted_users = sorted(users.items(), key= lambda x : (x[1][0],x[0]))
for i in range(len(sorted_users)):
age, name = sorted_users[i][1]
print(f'{str(age)} {name}')
람다는 잘 사용하지 않았는데 다중정렬 문제는 대부분 람다로 푸는 것 같았다.(다른 방법은 아직 본 적이 없는데 공부하다 보면 알게되겠지..!) 답은 풀어냈지만 사실 람다가 제대로 이해되지 않아서 추가로 공부해서 따로 포스팅 했다.
https://y00n-lee.tistory.com/25
'개발 > 알고리즘' 카테고리의 다른 글
[백준 4375]1 - 파이썬 풀이 (0) | 2021.12.05 |
---|---|
[프로그래머스 12899]124 나라의 숫자 - 파이썬 풀이 (0) | 2021.11.04 |
[알고리즘] 최대공약수, 최소공배수 - 파이썬 (0) | 2021.06.24 |
[알고리즘] 소수 판별하기 - 파이썬 (0) | 2021.06.24 |
[자료구조] 스택, 큐 구현 - 파이썬 deque (0) | 2021.06.24 |