[Python] 백준 11651번, 좌표 정렬하기2, sorted(key = ...)

민지의 회고록·2023년 8월 4일

1. 문제

https://www.acmicpc.net/problem/11651

2. 풀이

x, y 로 좌표를 튜플로 받아 이를 리스트에 넣은 후, sorted 함수를 사용하여 y축 좌표를 기준으로 정렬한다. sorted()의 매개변수인 key 값을 사용한다.

- key

key 에는 함수를 넣는데 이를 기준으로 정렬이 된다.

>> l = [(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)]
>> l = sorted(l, key=lambda x: (x[1], x[0]))
>> print(l)
[(1, -1), (1, 2), (2, 2), (3, 3), (0, 4)]

lambda(lambda 매개변수:표현식)를 사용하여 y -> x 순으로 우선순위를 두어 정렬

3. 코드

import sys
input = sys.stdin.readline

n = int(input())
l = []

for _ in range(n):
    x, y = map(int, input().split())
    l.append((x, y))

l = sorted(l, key=lambda x: (x[1], x[0]))
for i in range(n):
    print(l[i][0], l[i][1])
profile
민지가 공부한 내용을 회고합니다~~

1개의 댓글

comment-user-thumbnail
2023년 8월 4일

좋은 정보 얻어갑니다, 감사합니다.

답글 달기