파이썬
[백준] 11651 좌표 정렬하기 2 (Baekjoon Problem 11651: sort coordinate 2)
Riella
2023. 8. 18. 04:55
728x90
문제 출처
[문제 요약]
첫 줄에 입력의 개수 N이 입력으로 들어온다.
이후에 N개의 x, y좌표가 스페이스로 나누어진채 주어진다.
좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순으로 출력해라.
[풀이]
우선 x에 대하여 정렬한 후
y에 대하여 정렬하면 된다.
lst에 좌표가 (x, y)의 tuple형태로 주어진다고 하면
lst.sort()
lst.sort(key=lambda x: x[1])
[유의할 점]
sort의 key가 어떤걸 기준으로 sort할지 주는거고 lambda x: x[1] 이 튜플에서 두번째(y)를 기준으로 정렬하라는 뜻이다.
[파이썬 3 코드]
# -*- coding: utf-8 -*-
from sys import stdin
if __name__ == "__main__":
n = int(stdin.readline())
lst = []
for i in range(n):
inptuple = tuple(map(int, stdin.readline().split()))
lst.append(inptuple)
lst.sort()
lst.sort(key=lambda x: x[1])
for j in range(n):
print("{} {}".format(lst[j][0], lst[j][1]))