본문 바로가기

알고리즘/백준

[Python] 백준 파이썬 11651 좌표 정렬하기2

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

n = int(input())

dot_yx = []

for _ in range(n):
  x, y = map(int, input().split())
  dot_yx.append([y,x]) #1
  
dot_yx.sort() #2

for i in dot_yx:
  print(i[1], i[0]) #3

# 1 : x, y 좌표를 받아서 dot_yx리스트에 서로 순서를 바꾼 리스트를 요소로 추가해줍니다.

# 2 : sort함수를 사용해 정렬 해줍니다.

# 3 : 정렬된 리스트의 요소를 하나씩 빼옵니다. [y,x]이렇게 돼있을텐데 출력은 x, y가 돼야 하므로 인덱스를 이용해 원하는 모양으로 출력되게 해줍니다.