문제/백준_파이썬

86. 11651(좌표 정렬하기2)

sm_hope 2022. 6. 16. 09:41
import sys
input = sys.stdin.readline

N = int(input())

arr = [list(map(int, input().split())) for _ in range(N)]

arr.sort(key=lambda x: (x[1], x[0]))

for x, y in arr:
    print(x, y)

문제요약

y기준으로 오름차순으로 정렬해라, 만약 y가 같다면 x기준으로 오름차순으로 정렬해라

해결

sort()에 내림차순으로 , 규칙에 따라(옵션) 부여할 수 있다.

 

(reverse=True) : 내림차순으로 정렬한다.

 

(key=lambda x : (x[0])) : 0번째 값을 기준으로 오름차순 정렬

 

(key=lambda x : (x[0] , x[1])) : 0번째 준으로 오름차순 정렬, 만약 둘이 같다면 1번째 기준으로 오름차순 정렬

 

(key=len) : 배열의 길이에 따라서