package main
import (
"fmt"
"sort"
"strconv"
)
func main() {
/*
问题描述: 全运会期间,根据 N 名运动员得分情况,找到相对等级和获得最高分的 3 人,分别获得金、银、铜牌。N 是正整数,且不超过 10000。运动员成绩默认唯一。
问题示例: 输入: [5, 4, 3, 2, 1] 输出: ["金牌", "银牌", "铜牌", "4", "5"] 注: 前三名成绩较高,获得金银铜,对于后两位运动员,只输出相对等级 (排名),第四、第五名
*/
nums := []int{5, 4, 3, 1, 2}
m := make(map[string]int)
numsLen := len(nums)
answer := make([]string, numsLen)
for i := 0; i < numsLen; i++ {
m[strconv.Itoa(nums[i])] = i
}
sort.Sort(sort.Reverse(sort.IntSlice(nums)))
for i := 0; i < numsLen; i++ {
res := strconv.Itoa(i + 1)
if i == 0 {
res = "金牌"
} else if i == 1 {
res = "银牌"
} else if i == 2 {
res = "铜牌"
}
answer[m[strconv.Itoa(nums[i])]] = res
}
fmt.Println(answer)
}