<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>
def solution(data): **#1 함수 정의**
sorted_data = sorted(data.keys()) **#2 key값 정렬**
return [data[i] for i in sorted_data] **#3 value 반환**
함수 정의
코드의 첫 부분에서 solution
이라는 함수를 정의합니다. 이 함수는 하나의 인자 data
를 받습니다. data
는 위치코드와 도서의 제목으로 이루어진 딕셔너리입니다.
key 값 정렬
data
의 key
값을 오름차순으로 정렬합니다. keys()
메서드는 딕셔너리의 key
를 기준으로 정렬한다는 의미입니다.
value 반환
sorted_data
에서 key
에 해당하는 value
값만 뽑아내어 리스트를 생성합니다.
결과 반환
최종적으로 정렬된 제목 리스트가 반환 값으로 지정됩니다.
리스트 컴프리헨션
기본 형태: [연산 for 원소 in 순회 가능 객체 if 조건문(생략 가능)]
개념: 리스트를 만들거나 기존 리스트를 가공할 때 사용하는 간결한 방법입니다.
# 리스트 컴프리헨션 사용
squared = [x**2 for x in range(10)]
print(squared) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
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 반환**
함수 정의
코드의 첫 부분에서 solution
이라는 함수를 정의합니다. 이 함수는 하나의 인자 data
를 받습니다. data
는 위치코드와 도서의 제목으로 이루어진 딕셔너리입니다.
items 정렬
data
를 오름차순으로 정렬합니다. items
메서드는 딕셔너리의 모든 key-value
쌍을 뜻합니다. 정렬 기준은 x[0]
으로 key
임을 알 수 있습니다.
value 반환
sorted_data
에서 key
에 해당하는 value
값만 뽑아내어 리스트를 생성합니다.
결과 반환
최종적으로 정렬된 제목 리스트가 반환 값으로 지정됩니다.