본문 바로가기

# 02/Swift - CTP

[Swift] 코딩테스트 연습! Lv0. 진료 순서 정하기

반응형
/* 진료 순서 정하기

 - 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
*/
func solution20(_ emergency:[Int]) -> [Int] {
    emergency.map {
        emergency.sorted(by: > ).firstIndex(of: $0)!+1
    }
}

func solution19(_ emergency:[Int]) -> [Int] {
    var dic:Dictionary<Int,Int> = [:]
    var i = 1
    emergency.sorted{ $0 > $1 }.map {
        dic[$0] = i
        i += 1
    }
    var result:[Int] = []
    for i in emergency {
        if let num = dic[i] {
            result.append(num)
        }
    }
    return result
}
반응형