题解 | #记票统计#
记票统计
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']}`)
})
