😁 빅데이터 문제 풀기 & Study/- BAEKJOON 문제

[10814] 나이순 정렬 / 파이썬 (feat. sort( ) 함수의 재발견 key😶!!!)

또방91 2022. 1. 27. 23:20
728x90

 

 

 

 

 

비장의 무기가 있었던 easy했던 함수들 int...sort...

 

며칠전 int( )에서 원하는 진수를 정해서 받을 수 있다는 걸 알았었ㄸㅏ......!

비장의 무기가 있었던 int( )함수!!!

 

그런데 몇일 지나지도 않았는데 sort( )함수에게도 이런 비장의 무기가!!!!!!!!

 

✏️ 문제 링크

https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

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

www.acmicpc.net


실패....ㅠㅠ

sort( )함수에서 key를 사용할 수 있다는 것을 알지 못했던 나는....

리스트로 받고 -> 딕셔너리key:value 형태로 바꾸고 -> sorted하면서 리스트로 바꾸고 출력을 했는데

길이만 엄청 길고 실패를 했다...ㅠㅠㅠ🤣 


정답은 ??

t= int(input())
member=[] # member들 명단받기
for i in range(t):
    a=list(input().split())
    member.append(a)

#str로 숫자를 받았으니 int 정수로 바꿔준다.
#sort의 기준이 되는 key는 나이!
member.sort(key= lambda x: int(x[0]))

for i in member: print(i[0],i[1])

💯 풀이 과정

1) 받은 숫자만큼 반복문 돌리기

2) split 시켜주면서 리스트로 넣어주기

3) sort( ) 함수로 리스트를 정렬해주는데, 나이순으로 해야하니 

4) member 리스트안 리스트로 들어있는 회원정보 중 첫번째값=나이 기준으로 정렬

5) 그래서 sort( )함수의 key를 나이로 지정한다. (lambda 함수로 쉽게 가능!)

6) 정렬했으니, 이제 반복문으로 꺼내주기만 하면 된다!


😎 오늘의 한줄평

역시 한 방이 있는 친구였군!

 

 

 

728x90