반응형
람다 표현식과 key를 알고 있다면 풀수 있는 문제였다.
정렬에서 key의 의미
# key 매개변수 입력 key값으로는 함수가 들어가야 하며 이는 정렬 기준이 된다.
# key 값은 람다(lambda 함수를 사용할 수 도 있다)
array= [('바나나',2), ('사과',5), ('당근',3)]
def setting(data):
return data[1]
result = sorted(array, key=setting)
print(result)
람다 표현식(Lambda Express)
- 특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있다
- 람다식은 파이썬의 정렬 라이브러리를 사용할 때, 정렬 기준(Key)을 설정할 때에도 자주 사용한다.
def add(a, b):
return a + b
print(add(3,7))
# 람다 표현식으로 구현한 add() 메서드
print( (lambda a, b: a + b)(3,7) )
풀이
n = int(input())
array = []
for _ in range(n):
x = tuple(map(int, input().split()))
array.append(x)
array.sort(key = lambda x: (x[1], x[0]))
for x in array:
print(x[0], x[1])
스케치
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 회전하는 큐 1021 (파이썬) (0) | 2021.03.10 |
---|---|
[백준] 나무자르기 2805 (파이썬) (0) | 2021.03.09 |
[백준] [재귀 분석 추가] 하노이의 탑 이동 순서 1759 (파이썬) (2) | 2021.03.08 |
[백준] 암호 만들기 1759 (파이썬) (0) | 2021.03.08 |
[백준] 소수 구하기 1929 (파이썬) (0) | 2021.03.08 |