Thief of Wealth

문제

2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.

 

 

핵심 아이디어

간만에 엄청 쉬운문제가 걸렸다!

깊게 생각할 필요 없이 x,y좌표를 순서대로 정렬 기준으로 넣어주기만 하면 끝나는 문제이다.

 

import sys
from collections import deque
input = sys.stdin.readline
n = int(input().rstrip())

l = deque()

for _ in range(n):
    l.append([*map(int, input().rstrip().split(" "))])

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

for i in l:
    print(" ".join(map(str, i)))

'개발 > 알고리즘' 카테고리의 다른 글

[BOJ] 10814 나이순 정렬  (0) 2020.11.15
[BOJ] 1026 보물  (0) 2020.11.13
[BOJ] 10989 수 정렬하기 2  (0) 2020.11.10
[BOJ] 18310 안테나  (0) 2020.11.08
[BOJ] 18405 경쟁적 전염  (0) 2020.11.07
profile on loading

Loading...