it 지식/백준 문제 중 자잘한 문법 정리
백준 - 파이썬 10814 나이순 정렬
곰종
2023. 1. 18. 22:18
문제 내용

문제 예시

내가 푼 방법
|
1
2
3
4
5
6
7
8
9
|
n = int(input())
user = []
for _ in range(n):
user.append(list(input().split()))
user.sort(key = lambda x: int(x[0]))
for i in range(n):
print(user[i][0], user[i][1])
|
cs |
user 리스트를 선언하여 n만큼의 유저 정보를 입력받습니다.
sort 함수 중 key 옵션이 있어 쉽게 구현 할 수 있습니다.
key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하여 순서대로 정렬하게 되는데,
user 리스트 선언 후 입력하고 아래 순서로 입력하고
25 종원
25 민수
23 민지
key = lambda x: int(x[0]))으로 x[0] 즉 처음 입력받은 나이 순으로만 정렬을 하게 된다면
23 민지
25 종원
25 민수 순으로 문제에서 원하는 나이만 같은경우 정렬하고, 뒤에 이름은 회원가입 한 순서대로 정보가 출력이 됩니다.
그냥 sort()를 사용하여 정렬을 하면 ㄱㄴㄷㄹㅁㅂㅅㅇㅈ 순으로 민수의 ㅁ이 종원의 ㅈ 보다 앞에 있기 때문에
23 민지
25 민수
25 종원 으로 정렬이 됩니다
마지막 출력은 한 줄씩 출력하기 때문에 for 문을 사용하고,
user[i][0], user[i][1] 을 한줄 씩 출력합니다
[0] [1] [2]
[ [23, 민지], [25, 종원], [25, 민수] ]
[0] [1]
문법 : sort(key)