[단계별로 풀어보기][python 3] 정렬 - 좌표 정렬하기 2 (11651)

2022. 4. 30. 19:24공부/알고리즘

11651번: 좌표 정렬하기 2 (acmicpc.net)

 

11651번: 좌표 정렬하기 2

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

www.acmicpc.net

 

답안

import sys

n = int(sys.stdin.readline())

fA = []
for i in range(n):
    x, y = map(int, sys.stdin.readline().split())
    fA.append((x, y))

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

for i in fA:
    print(f"{i[0]} {i[1]}")

Python 내장 함수인 .sort()는 key값에 lambda 식을 사용할 수 있다.