상세 컨텐츠

본문 제목

[백준] 11651 좌표 정렬하기 2 (Baekjoon Problem 11651: sort coordinate 2)

파이썬

by 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]))

관련글 더보기

댓글 영역