https://www.acmicpc.net/problem/11651
import sys
read = sys.stdin.readline
dots = []
n = int(read())
for i in range(n):
dot = list(map(int, read().split()))
dots.append(dot)
dots.sort(key=lambda x: (x[1],x[0]))
for i in range(n):
print(dots[i][0],dots[i][1])
sort함수의 key 매개변수를 사용했다.
dots.sort(key=lambda x: (x[1],x[0]) 은 두 번째 인자로 정렬해준 후 같은 수일 경우 첫 번째 인자로 비교해주는 것이다.
dots.sort(key=lambda x: (x[0],-x[1]) 은 첫 번재 인자로 정렬해준 후 같은 수일 경우 두 번재 인자로 내림차순 정렬을 적용한 것이다.
'Algorithm > Problems' 카테고리의 다른 글
[백준/파이썬] 10814번 나이순 정렬 (0) | 2022.11.09 |
---|---|
[백준/파이썬] 1181번 단어 정렬 (0) | 2022.11.09 |
[백준/파이썬] 11650번 좌표 정렬하기 (0) | 2022.11.08 |
[백준/파이썬] 1427번 소트인사이드 (0) | 2022.11.08 |
[백준/파이썬] 2108번 통계학 (0) | 2022.11.08 |