https://school.programmers.co.kr/learn/courses/30/lessons/250121
코드
def solution(data, ext, val_ext, sort_by):
compiles = {"code" : 0, "date" : 1, "maximum" : 2, "remain" : 3}
ext_index = compiles[ext]
sort_index = compiles[sort_by]
filtered_data = [row for row in data if row[ext_index] < val_ext]
return sorted(filtered_data, key=lambda x: x[sort_index])
줄이려면 한 줄로도 되는 코드지만
가독성을 위해 단계별로 진행을 했습니다.
딕셔너리로 품목별 인덱스를 기록해둔 후
변수에 그 값들을 저장해서 사용했습니다.
그리고 1차 조건을 통과하는 항목들을 따로 리스트로 저장한 후
sorted를 통해 조건에 맞춰 정렬해 줬습니다.
sorted의 lambda는 간단하지만 강력하니 사용법을 익혀두는게 무조건 좋습니다.
728x90
'프로그래머스 > Lv.1' 카테고리의 다른 글
PCCP 기출문제 > 붕대 감기 - Pyton, 구현 (0) | 2024.12.08 |
---|---|
2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 - Python, 정규표현식 (0) | 2024.12.07 |
2018 KAKAO BLIND RECRUITMENT > 다트 게임 - Pyton, re, compile, findall, 정규식 (2) | 2024.12.06 |
2018 KAKAO BLIND RECRUITMENT > 비밀지도 - Pyton, n진법, bin, zfill (0) | 2024.12.05 |
월간 코드 챌린지 시즌1 > 두 개 뽑아서 더하기 - Python, combinations(조합) (0) | 2024.12.05 |