티스토리 뷰

📚 문제

입력

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

출력

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

입력 예시

5
0 4
1 2
1 -1
2 2
3 3

출력 예시

1 -1
1 2
2 2
3 3
0 4

🧑🏻‍💻 풀이 과정

  • sorted를 이용하여 y를 우선 정렬 후, x를 정렬하자
n = int(input())
datas = [list(map(int, input().split())) for _ in range(n)]

# y 좌표를 기준으로 오름차순 정렬
# y 좌표가 같다면 x 좌표를 기준으로 오름차순 정렬
sorted_datas = sorted(datas, key=lambda x: (x[1], x[0]))
for data in sorted_datas:
    print(data[0], data[1])

'알고리즘' 카테고리의 다른 글

[algorithm] 백준 1026 - 보물  (0) 2022.06.23
[algorithm] 백준 1543 - 문서 검색  (0) 2022.06.21
[algorithm] 백준 9656 - 돌 게임 2  (0) 2022.06.19
[algorithm] 백준 11399 - ATM  (0) 2022.06.18
[algorithm] 1이 될 때까지  (0) 2022.06.16
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 29 30 31
글 보관함