BOJ/Python

백준 11651번 좌표정렬하기 2 파이썬

띵지니어 2022. 3. 18. 15:40

https://www.acmicpc.net/problem/11651

 

11651번: 좌표 정렬하기 2

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

내 답안

import sys

input = sys.stdin.readline
lst = []

for i in range(int(input())):
    x, y = map(int, input().split())
    lst.append((x, y))

lst.sort(key=lambda a: (a[1], a[0]))

for i, j in lst:
    print(f'{i} {j}')

 

정렬할 때 핵심은 x가 아닌 y 기준으로 해주면 된다.

key를 람다 함수를 이용하여 y 기준으로 바꿔 주면 쉽게 문제를 해결할 수 있다.