
😎풀이
map
자료구조 사용
score
내림차 순 정렬
- 정렬된 순서대로
map
에 등수 혹은 메달 정의
3-1. 1등은 Gold Medal
3-2. 2등은 Silver Medal
3-3. 3등은 Bronze Medal
3-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)!)
};