티스토리 뷰

📌문제

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

 

📌풀이

입력받은 x, y 좌표를 리스트에 튜플 형식으로 추가

 

기본적으로 sort() 함수는 튜플을 정렬할 때 첫 번째 요소(인덱스 0)를 기준으로 오름차순 정렬하고, 첫 번째 요소가 같다면 두 번째 요소(인덱스 1)를 기준으로 오름차순 정렬

따라서, x 좌표를 기준으로 오름차순 정렬한 후 만약 x 좌표가 같다면, y 좌표를 기준으로 오름차순 정렬을 하게 됨

 

정렬된 리스트에서 a, b를 언패킹하여 출력

 

* 언패킹(Unpacking): 튜플, 리스트와 같은 자료형에 저장된 값을 개별 변수로 분해하여 할당하는 과정

 

 

📌코드

n = int(input())
points = []
for _ in range(n):
    a, b = map(int, input().split())
    points.append((a, b))
points.sort()
for a, b in points:
    print(a, b)

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함