
https://school.programmers.co.kr/learn/courses/30/lessons/120835
외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
emergency 리스트를 내림차순으로 정렬하여 응급도가 높은 순으로 처리합니다.def solution(emergency):
# 결과를 저장할 리스트 초기화
answer = []
# 응급도에 따라 내림차순으로 정렬
sorted_list = sorted(emergency, reverse=True)
# 원본 리스트의 각 요소에 대하여
for i in emergency:
# 정렬된 리스트에서 해당 요소의 인덱스를 찾아 순서로 추가 (+1은 1-based index로 변환)
answer.append(sorted_list.index(i) + 1)
return answer
이 문제를 통해 리스트를 정렬하고 각 원소의 인덱스를 효과적으로 매핑하는 방법을 연습할 수 있었습니다. 특히, 중복된 요소가 있을 때 각 요소의 순위를 어떻게 결정하는지에 대해 생각해 볼 수 있는 좋은 기회였습니다. 그러나, 내가 작성한 코드는 효율성 측면에서 개선할 여지가 있음을 발견했고, 더 효율적인 접근 방법을 고민해 보아야 할 것입니다.