<aside> 💬 lv0, 정렬

업무 우선순위

문제 설명

Untitled

라이캣은 업무 우선순위에 따라 일일 업무를 보고 있습니다. 리스트 안에 업무 이름과 업무 우선순위가 함께 주어졌을 때 오름차순 업무 우선순위에 따라 업무 이름을 출력해주세요.


제한 사항


입출력 예

입력 출력
[['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>

😺 풀이 1. sorted() 함수

def solution(data):
    return [i[0] for i in sorted(data, key=lambda x: x[1])] **#1 sorted 함수** 
                                                            **#2 리스트컴프리헨션**

단계별 풀이 전략

  1. sorted() 함수

    data 리스트를 두 번째 요소를 기준으로 정렬합니다. key 매개변수에 전달된 람다 함수는 각 요소의 두 번째 요소를 기준으로 정렬을 수행합니다.

  2. 리스트 컴프리헨션

    정렬된 데이터에서 각 튜플의 첫 번째 요소를 추출하여 새로운 리스트를 생성합니다. 이 리스트가 최종적으로 반환되는 값입니다.

알아둬야 할 개념

기본 함수

lambda 함수

풀이 2. 리스트 생성

def solution(data):
    sorted_data = sorted(data, key=lambda x: x[1]) **#1 정렬된 데이터**
    return list(x[0] for x in sorted_data) **#2 리스트 생성**

단계별 풀이 전략

  1. 정렬된 데이터

    입력 데이터인 datasorted() 함수를 사용하여 정렬합니다. 여기서 정렬 기준은 두 번째 요소인 x[1]로 지정되었습니다.

  2. 리스트 생성

    정렬된 데이터에서 각 요소의 첫 번째 요소를 추출하여 새로운 리스트를 생성합니다. 이를 위해 제너레이터 표현식을 사용하였습니다.

알아둬야 할 개념