题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

const lines = []
rl.on('line', function (line) {
    lines.push(line)
});

rl.on('close', () => {
    const order = parseInt(lines[1].trim()) === 0 ? 'desc' : 'asc'
    const records = lines.slice(2).map(line => {
        const splited = line.split(' ')
        return {
            name: splited[0],
            score: parseInt(splited[1])
        }
    })
    const weight = order === 'desc' ? -1 : 1
    records.sort((a, b) => a.score > b.score ? weight : a.score === b.score ? 0 : -weight)
    console.log(records.map(c => [c.name, c.score].join(' ')).join('\n'))
})

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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