본문 바로가기

Algorithm/Sorting

(Python3) - 프로그래머스(PCCE 기출문제): 10번 데이터 분석

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/250121

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

정렬 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

각 key별 index를 위한 key_map선언 후 적절히 초기화해줍니다.

📔 풀이과정

1. answer를 list comprehension을 이용해 data에서 key_map[ext]번째 값이 val_ext이하인 배열만 뽑아 저장해줍니다.

 

2. key_map[sort_by]에 해당하는 값으로 answer를 정렬해줍니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(data, ext, val_ext, sort_by):
    key_map = {'code': 0, 'date': 1, 'maximum': 2, 'remain': 3}
    answer = [d for d in data if d[key_map[ext]] <= val_ext]
    answer = sorted(answer, key = lambda x: x[key_map[sort_by]])
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.