BOJ 10814. 나이순 정렬 (Python)
2021. 2. 10. 23:33ㆍProblem Solving/BOJ
BOJ 10814. 나이순 정렬
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
풀이
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 |