BOJ 10814. 나이순 정렬 (Python)
2021. 2. 10. 23:33ㆍProblem Solving/BOJ
BOJ 10814. 나이순 정렬
https://www.acmicpc.net/problem/10814
풀이
BOJ.1181 단어정렬 처럼 파이썬의 내장함수의 sort()
를 이용하면 쉽게 풀 수 있다.
for i in range(N):
tmp = sys.stdin.readline().split()
tmp.append(i)
member.append(tmp)
정렬할때 먼저 가입한 순서가 두번째 기준이 되기 때문에 입력 시에 세번째 원소에 순서도 append해준다. 그렇게 되면[['21', 'Junkyu', 0], ['21', 'Dohyun', 1], ['20', 'Sunyoung', 2]]
의 member 리스트가 구성된다.
member.sort(key=lambda x: (int(x[0]),x[2]))
첫번째 기준으로 나이, 두번째 기준으로 가입한 순서를 key
로 오름차순 정렬한다.
int 변환 필수 ! 주의 !
소스 코드
import sys
member = []
N = int(input())
for i in range(N):
tmp = sys.stdin.readline().split()
tmp.append(i)
member.append(tmp)
member.sort(key=lambda x: (int(x[0]),x[2]))
for m in member:
print(m[0], m[1])
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
BOJ 1920. 수 찾기 (Python) (0) | 2021.02.15 |
---|---|
BOJ 11650. 좌표 정렬하기 (Python) (0) | 2021.02.15 |
BOJ 2609. 최대공약수와 최소공배수 (Python) (0) | 2021.02.10 |
BOJ 1181. 단어 정렬 (Python) (0) | 2021.02.10 |
BOJ 1018. 체스판 다시 칠하기 (Python) (0) | 2021.02.10 |