프로그래머스 (JS)/Lv. 0

[Programmers] 120835번 - 진료순서 정하기

hodo- 2023. 3. 4. 18:42

Problem

문제 보기

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


Solution

function solution(emergency) {
    let copy = [...emergency].sort((a, b) => b - a)
    return emergency.map(x => copy.indexOf(x) + 1)
}

매개변수를 복사한 변수를 만들어놓고 해당 변수를 크기순정렬한다.
매개변수 요소를 하나씩 불러오면서 copy에 해당하는 인덱스에 + 1 (0인덱스가 있으므로) 한 값을 넣는다

function solution(emergency) {
    let sorted = emergency.slice().sort((a,b)=>b-a);
    return emergency.map(v=>sorted.indexOf(v)+1);
}

나랑 비슷한 코드지만 매개변수 복사시 slice()를 사용하였다.