【简单】算法nodeJs:字符串分隔

147 阅读1分钟

描述

对于给定的由小写字母和数字混合构成的字符串 s ,你需要按每 8 个字符换一行的方式书写它,具体地:
∙书写前 8 个字符,换行;
∙书写接下来的 8 个字符,换行;
∙……
∙重复上述过程,直到字符串被完全书写。
特别地,如果最后一行不满 8 个字符,则需要在字符串末尾补充 0 ,直到长度为 8 。

输入描述:

在一行上输入一个长度 1≦length(s)≦100 ,由小写字母和数字混合构成的字符串 s 。

输出描述:

输出若干行,每行输出 8 个字符,代表按题意书写的结果。

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

void (async function () {
    // Write your code here
    line = (await readline()).toString();
    if (line.length <= 8) {
        let s = 8 - line.length;
        let o = "";
        for (let i = 0; i < s; i++) {
            o += 0;
        }
        return console.log(line + o);
    } else {
        const circle = Math.ceil(line.length / 8);
        for (let i = 0; i < circle; i++) {
            if (i !== circle - 1) {
                i == 0
                    ? console.log(line.slice(0, 8))
                    : console.log(line.slice(i * 8, i * 8 + 8));
            }
            if (i == circle - 1) {
                let o = "";
                for (let j = 0; j < 8 - line.slice(8 * i).length; j++) {
                    o += 0;
                }
                console.log(line.slice(8 * i) + o);
            }
        }
    }
})();