<aside> 💬 lv0, 정렬

도서관 책 위치 정렬

문제 설명

도서관의 책들은 각각 고유한 위치 코드를 가지고 있습니다. 책의 위치 코드와 해당 위치 코드에 대응하는 책의 제목이 딕셔너리 형태로 주어질 때, 위치 코드 순으로 책의 제목을 정렬하는 코드를 작성해주세요. 위치 코드는 문자열로 구성되며, 사전순으로 정렬합니다.


제한 사항


입출력 예

입력 출력
{'AX21': 'Moby Dick', 'BX32': '1984', 'CX14': 'To Kill a Mockingbird'} ['Moby Dick', '1984', 'To Kill a Mockingbird']

입출력 설명

입력된 딕셔너리에 따르면, 'AX21' 위치에는 'Moby Dick', 'BX32' 위치에는 '1984', 'CX14' 위치에는 'To Kill a Mockingbird' 책이 있습니다. 위치 코드를 사전순으로 정렬하면 'AX21', 'BX32', 'CX14' 순이 되므로, 결과는 ['Moby Dick', '1984', 'To Kill a Mockingbird'] 순으로 정렬됩니다.

</aside>

😺 풀이 1. keys() 메서드

def solution(data): **#1 함수 정의**
    sorted_data = sorted(data.keys()) **#2 key값 정렬**
    return [data[i] for i in sorted_data] **#3 value 반환**

단계별 풀이 전략

  1. 함수 정의

    코드의 첫 부분에서 solution이라는 함수를 정의합니다. 이 함수는 하나의 인자 data를 받습니다. data는 위치코드와 도서의 제목으로 이루어진 딕셔너리입니다.

  2. key 값 정렬

    datakey 값을 오름차순으로 정렬합니다. keys() 메서드는 딕셔너리의 key를 기준으로 정렬한다는 의미입니다.

  3. value 반환

    sorted_data에서 key에 해당하는 value 값만 뽑아내어 리스트를 생성합니다.

  4. 결과 반환

    최종적으로 정렬된 제목 리스트가 반환 값으로 지정됩니다.

알아둬야 할 개념

리스트 컴프리헨션

풀이 2. items() 메서드

def solution(data): **#1 함수 정의**
    sorted_data = sorted(data.items(), key = lambda x: x[0]) **#2 items 정렬**
    return [i[1] for i in sorted_data] **#3 value 반환**

단계별 풀이 전략

  1. 함수 정의

    코드의 첫 부분에서 solution이라는 함수를 정의합니다. 이 함수는 하나의 인자 data를 받습니다. data는 위치코드와 도서의 제목으로 이루어진 딕셔너리입니다.

  2. items 정렬

    data를 오름차순으로 정렬합니다. items 메서드는 딕셔너리의 모든 key-value 쌍을 뜻합니다. 정렬 기준은 x[0] 으로 key임을 알 수 있습니다.

  3. value 반환

    sorted_data에서 key에 해당하는 value 값만 뽑아내어 리스트를 생성합니다.

  4. 결과 반환

    최종적으로 정렬된 제목 리스트가 반환 값으로 지정됩니다.