문제 링크 : https://www.acmicpc.net/problem/11650
풀이
sort() 함수에 key로 lambda 함수를 넘겨주게 되면, 이 함수의 반환값을 기준으로 순서대로 정렬하게 된다.
여기서는 x[0], x[1] 순으로, 즉 리스트의 첫번째 요소인 x좌표로 정렬 후에 두번째 요소인 y좌표를 기준으로 정렬하게 되는 것이다.
import sys
num = int(sys.stdin.readline())
xys = []
for _ in range(num):
xy = list(map(int, sys.stdin.readline().split()))
xys.append(xy)
for x, y in sorted(xys, key=lambda x: (x[0], x[1])): # 리스트의 첫번째 element인 x좌표를 기준으로 정렬 후 두번째 element인 y좌표를 기준으로 정렬
print(x, y)
'알고리즘 > 알고리즘 문제 풀이' 카테고리의 다른 글
(Python) 백준 11866번 - 요세푸스 문제 0 (0) | 2022.12.31 |
---|---|
(Python) 백준 11651번 - 좌표 정렬하기 2 (0) | 2022.12.30 |
(Python) 백준 10814번 - 나이순 정렬 (0) | 2022.12.30 |
(Python) 백준 7568번 - 덩치 (0) | 2022.12.28 |
(Python) 백준 2751번 - 수 정렬하기 2 (0) | 2022.12.27 |