[Python] 백준 알고리즘 온라인 저지 10814 나이순 정렬
https://www.acmicpc.net/problem/10814
나이순으로만 정렬하고 나이가 같다면 먼저 가입한 사람이 출력되야하므로 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 |