본문 바로가기

알고리즘/python

[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

 

[문제 풀이]

 

lambda를 활용해서 x좌표인 0번째 요소로 정렬하고 같은 x좌표에 대해서는 y좌표인 1번째 요소로 정렬을 하도록 하였다.

단순히 input()을 통해서 입력을 받으면 시간 초과가 나오므로 readline을 사용해주어야 한다. 

#11650
import sys
input = sys.stdin.readline

n = int(input())

points = []
for i in range(n):
  point = list(map(int,input().split()))

  points.append(point)

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

for p in points:
  print(*p)
반응형