题解 | #记票统计#

记票统计

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

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
const inputs = []
rl.on('line', function (line) {
    inputs.push(line)
});

rl.on('close', () => {
    const members = inputs[1].split(' ')
    const votes = inputs[3].split(' ')
    const map = members.reduce((prev, cur) => ({ ...prev, [cur]: 0 }), { Invalid: 0 })
    const sortedMembers = [...members].sort((a, b) => a.length > b.length ? -1 : 1)
    votes.forEach(vote => {
        if (!!sortedMembers.reduce((prev, cur) => prev.replace(cur, ''), vote)) {
            map['Invalid']++
        } else {
            sortedMembers.reduce((prev, cur) => {
                if (prev.includes(cur)) {
                    map[cur]++
                }
                return prev.replace(cur, '')
            }, vote)
        }
    })
    members.forEach(member => {
        console.log(`${member} : ${map[member]}`)
    })
    console.log(`Invalid : ${map['Invalid']}`)
})

全部评论

相关推荐

2025-12-01 13:39
已编辑
东北大学 Java
Rain_Codin...:没事,反正都是吹牛逼的,另一个实习生说能实习到毕业,说不定干两个月就跑了,亏的还是他
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务