본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩테스트 입문) : 진료순서 정하기

반응형

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

 

프로그래머스

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

programmers.co.kr

hash map을 사용해본 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 정답 배열 answer 선언 후 빈 배열로 초기화합니다.

 

2. emergency_copy를 선언해 emergency를 deep copy해줍니다. 이후 내림차순으로 정렬해줍니다.

 

3. 응급도를 key, 진료 순서를 value로 emergency_rank를 선언 후 emergency_copy의 원소를 순회하며 값을 저장합니다.

📔 풀이과정

emergency에 대해 loop를 수행하며 rank값을 answer에 추가합니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(emergency):
    answer = []
    emergency_copy = emergency.copy()
    emergency_copy.sort(reverse=True)
    emergency_rank = {}
    for i in range(0, len(emergency_copy)):
        e = emergency_copy[i]
        emergency_rank[e] = i + 1
    for e in emergency:
        answer.append(emergency_rank[e])
    return answer

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