题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
  const n = await readline();
  const words = [];
  while ((line = await readline())) {
    words.push(line);
  }

  words.forEach((word) => {
    const count = word.split("").reduce((res, cur) => {
      res[cur] ? res[cur]++ : (res[cur] = 1);
      return res;
    }, {});
    // 计算分数,重复次数多的给最高分值,依次递减
    let score = 26;
    console.log(
      Object.entries(count)
        .sort((a, b) => b[1] - a[1])
        .reduce((res, cur) => {
          res += cur[1] * score;
          score--;
          return res;
        }, 0)
    );
  });
})();

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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