题解 | #成绩排序#
成绩排序
http://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
JavaScript
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const lines = [];
rl.on("line", function (line) {
lines.push(line);
if (lines.length>1 && (lines.length -2) === parseInt(lines[0])) {
const scorce = [];
for (let i = 0; i < lines.length - 2; i++) {
const s = lines[i + 2].split(" ");
scorce.push({
name: s[0],
num: s[1],
});
}
scorce
.sort((a, b) => {
return lines[1] === "1" ? a.num - b.num : b.num - a.num;
})
.forEach((item) => {
console.log(item.name + " " + item.num);
});
lines.splice(0, lines.length);
}
});
简洁版本
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const lines = [];
rl.on("line", function (line) {
lines.push(line);
if (lines.length > 1 && lines.length - 2 === parseInt(lines[0])) {
const scorce = [];
lines
.slice(2)
.sort((a, b) => {
if (lines[1] === "1") {
return a.split(" ")[1] - b.split(" ")[1];
} else {
return b.split(" ")[1] - a.split(" ")[1];
}
})
.forEach((item) => {
console.log(item);
});
lines.splice(0, lines.length);
}
});