😎풀이

  1. map 자료구조 사용
  2. score 내림차 순 정렬
  3. 정렬된 순서대로 map에 등수 혹은 메달 정의
    3-1. 1등은 Gold Medal
    3-2. 2등은 Silver Medal
    3-3. 3등은 Bronze Medal
    3-4. 그 외에는 본인의 등수로 정의
  4. score를 순회하며 각 선수에게 알맞는 메달 혹은 등수 부여
function findRelativeRanks(score: number[]): string[] {
    const map = new Map<number, string>()
    const sortedScore = [...score].sort((a, b) => b - a)
    for(let i = 0; i < sortedScore.length; i++) {
        const curScore = sortedScore[i]
        switch(i) {
            case 0:
                map.set(curScore, 'Gold Medal')
                break
            case 1:
                map.set(curScore, 'Silver Medal')
                break
            case 2:
                map.set(curScore, 'Bronze Medal')
                break
            default:
                map.set(curScore, String(i + 1))
        }
    }
    return score.map((curScore) => map.get(curScore)!)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글