题解 | #记票统计#

记票统计

https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894

package main

import (
    "fmt"
)

func main() {
    var n int
    fmt.Scan(&n)

    m := make(map[string]int)
    var candidates []string
    for i:=0; i<n; i++ {
        var candidate string
        fmt.Scan(&candidate)
        
        candidates = append(candidates, candidate)
        m[candidate] = 0
    }

    var invalidVoter int

    var voteCnt int
    fmt.Scan(&voteCnt)
    for i:=0; i<voteCnt; i++ {
        var voter string
        fmt.Scan(&voter)
        
        if _, ok := m[voter]; !ok {
            invalidVoter++
        } else {
            m[voter]++
        }
    }

    for _, candidate := range candidates {
        fmt.Printf("%s : %d\n", candidate, m[candidate])
    }
    fmt.Printf("%s : %d\n", "Invalid", invalidVoter)
}
// 本题输入为每行数字和字符串,所以采用:fmt.Scan(&n)

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务