코딩테스트/LV0

진료 순서 정하기

camja 2023. 8. 7. 20:47

문제:

외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.

 

입출력 예:

emergency result
[3,76,24] [3,1,2]
[1,2,3,4,5,6,7] [7,6,5,4,3,2,1]
[30,10,23,6,100] [2,4,3,5,1]

풀이:

const solution =(emergency) =>{
    let answer = [...emergency].sort((a,b)=> b - a);
    return emergency.map(el => answer.indexOf(el)+1)
}

기존 emergency 배열을 변경하지 않으면서 복제하기 위해 [...emergency]을 사용한다. sort 메서드를 이요하여 내림 차순으로 정렬 후

answer 변수에 할당한다. 

emergency.map을 통해 배열의 각 요소를 순회 하고 IndexOf(el)을 통해 각 요소의 인덱스를 찾아주며 응곱도가 높은 순서에 해당하는 순위를 나타낸다.