https://www.acmicpc.net/problem/11651
11651번: 좌표 정렬하기 2
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
www.acmicpc.net
import sys
num = int(sys.stdin.readline())
list = []
for i in range(num):
a,b = map(int, input().split())
list.append((a,b)) #튜플형태로 리스트에 저장
list.sort(key = lambda x:(x[1], x[0])) #y축을 우선순위로 정렬하고 같다면 x축을 기준으로 정렬
for i in range(num):
print(f"{list[i][0]} {list[i][1]}")
저번에 풀었던 좌표 정렬하기 1에서 몇 글자만 바꾸면 되는 문제였다.
✨우선순위 정렬✨
1. 튜플 형태로 리스트에 저장
2. lambda로 우선순위 정렬!
ex) x축을 기준으로 정렬하고 같다면 y축으로 정렬해야 할 때,
list.sort(key = lambda x:(x[0], x[1]))
'백준' 카테고리의 다른 글
[백준] 18110번: solved.ac (파이썬) (1) | 2023.07.01 |
---|---|
[백준] 15829번 : Hashing (파이썬) (0) | 2023.06.28 |
[백준]10816번: 숫자 카드 2 (파이썬) (1) | 2023.06.22 |
[백준]10828번: 스택(파이썬) (1) | 2023.06.20 |
[백준]11650번: 좌표 정렬하기(파이썬) (1) | 2023.06.18 |