[BOJ 10814][백준 10814번] 나이순 정렬 (파이썬 풀이)
도깨비젤리
·2021. 6. 2. 01:13
https://www.acmicpc.net/problem/10814
🤔 문제 설명 및 입출력
✍ 접근 방법
파이썬은 sort 함수가 매우매우매우 잘 만들어져 있다. 팀 소트를 사용해서 속도도 굉장히 빠르고, 정렬의 key 값으로 익명함수 lambda를 적용해서 개발자 입맛대로 정렬을 시킬 수 있다.
쉽게 말해서, 입력을 하나의 리스트로 몰아넣은 다음, sort와 lambda를 이용해서 깔끔하게 정리하면 된다.
👨💻 소스 코드
- 파이썬
N = int(input())
lst = []
for idx in range(N):
age,name = input().split()
age = int(age)
lst.append((age,name,idx))
lst = sorted(lst,key= lambda x : [x[0],x[2]])
for elem in lst:
print('{0} {1}'.format(elem[0],elem[1]))
입력이 가입한 순서로 주어지므로, 리스트에 입력을 집어 넣을 때 임시 변수 idx를 가입한 순서를 뜻하는 요소로 같이 삽입해준다.
이후 lambda를 이용해 1순위 : 나이 / 2순위 : 가입 순서 로 정렬한 후, 출력한다.
🔥 강평
sort with lambda의 파워풀함을 다시 한번 깨달았다.
사실 이 문제 풀 생각은 없었는데, 백준 승급까지 경험치가 아주 조금 남아서 지나가는 김에 후르륵 풀어봤다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[BOJ 16236][백준 16236번] 아기상어 (파이썬 풀이) (0) | 2021.06.05 |
---|---|
[BOJ 1181][백준 1181번] 단어 정렬 (파이썬 풀이) (0) | 2021.06.02 |
[BOJ 1865][백준 1865번] 웜홀 (파이썬 풀이) (0) | 2021.06.02 |
[BOJ 1149][백준 1149번] RGB거리 (파이썬 풀이) (0) | 2021.06.01 |
[BOJ 10826][백준 10826번] 피보나치 수 4 (파이썬 풀이) (0) | 2021.05.19 |