백준(Python) 풀이/정렬

백준(Python) 11650번 좌표 정렬하기 풀이

개발윗미 2022. 7. 5. 16:55

Python으로 구현한 11650번 좌표 정렬하기 문제 풀이입니다.

 

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

 

11650번: 좌표 정렬하기

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

www.acmicpc.net


n = int(input())

data = []
for _ in range(n) :
    x, y = map(int, input().split())
    data.append((x, y))

data = sorted(data, key=lambda x: (x[0], x[1]))

for d in data :
    print(d[0], d[1])

 

1. n개의 (x, y) 좌표를 입력받아 data 리스트에 저장한다.

 

2. (x 좌표가 증가하는 순) -> (y 좌표가 증가하는 순) 으로 data 리스트 내 요소를 정렬한다.

 

3. 정렬된 data 리스트의 각 x, y 좌표를 출력한다.