코딩테스트/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)을 통해 각 요소의 인덱스를 찾아주며 응곱도가 높은 순서에 해당하는 순위를 나타낸다.