<aside>
💬 lv0
, 정렬
라이캣은 업무 우선순위에 따라 일일 업무를 보고 있습니다. 리스트 안에 업무 이름과 업무 우선순위가 함께 주어졌을 때 오름차순 업무 우선순위에 따라 업무 이름을 출력해주세요.
입력 | 출력 |
---|---|
[['A', 3], ['B', 1], ['C', 2]] | ['B', 'C', 'A'] |
[['A', 1], ['B', 2], ['C', 3]] | ['A', 'B', 'C'] |
[['A', 3], ['B', 1], ['C', 2]]에서 업무 우선순위대로 오름차순 정렬하면 [['B', 1], ['C', 2], ['A', 3]]이 됩니다. 여기서 업무만 출력하는 것이므로 정답은 ['B', 'C', 'A']가 됩니다.
</aside>
def solution(data):
return [i[0] for i in sorted(data, key=lambda x: x[1])] **#1 sorted 함수**
**#2 리스트컴프리헨션**
sorted()
함수
data
리스트를 두 번째 요소를 기준으로 정렬합니다. key
매개변수에 전달된 람다 함수는 각 요소의 두 번째 요소를 기준으로 정렬을 수행합니다.
리스트 컴프리헨션
정렬된 데이터에서 각 튜플의 첫 번째 요소를 추출하여 새로운 리스트를 생성합니다. 이 리스트가 최종적으로 반환되는 값입니다.
기본 함수
기본 형태: lambda 매개변수: 표현식
개념: 기본 함수는 일반적인 함수로, 함수를 정의할 때 사용됩니다. 일반적인 함수 정의에는 이름이 주어지고, def
키워드를 사용하여 함수를 정의합니다.
# 함수 정의
def double(x):
return x * 2
# 함수 사용
result = double(3)
print(result) # 출력: 6
lambda 함수
기본 형태: lambda 매개변수: 표현식
개념: 람다 함수는 익명 함수로, 함수를 한 줄로 간단하게 작성할 수 있습니다. 람다 함수는 이름이 없으며, lambda
키워드를 사용하여 정의됩니다. 이러한 함수는 주로 간단한 연산이나 함수를 적용할 때 사용됩니다.
# 람다 함수 정의
double_lambda = lambda x: x * 2
# 함수 사용
result_lambda = double_lambda(3)
print(result_lambda) # 출력: 6
def solution(data):
sorted_data = sorted(data, key=lambda x: x[1]) **#1 정렬된 데이터**
return list(x[0] for x in sorted_data) **#2 리스트 생성**
정렬된 데이터
입력 데이터인 data
를 sorted()
함수를 사용하여 정렬합니다. 여기서 정렬 기준은 두 번째 요소인 x[1]
로 지정되었습니다.
리스트 생성
정렬된 데이터에서 각 요소의 첫 번째 요소를 추출하여 새로운 리스트를 생성합니다. 이를 위해 제너레이터 표현식을 사용하였습니다.