题解 | #字符串分隔#
字符串分隔
https://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
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 let token = []; while(line = await readline()){ let tokens = line.split(' '); token =[...tokens[0]]//用扩展符将保存在tokens[0]中的字符串,每一项分别保存在token中 } for(let i = token.length%8; 0 < i&&i < 8; i++)//for循环中判断条件用&&或者||链接条件,可以无限链接 { token.push("0") } for(let i = 0; i < token.length; i = i + 8){ console.log(token.slice(i,i+8).join(''))//slice不包括后面这一项 } }()
我的方法
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 let inputString = ''//直接用空字符串接收输入的line while(line = await readline()){ inputString = line.split(''); } let finalArr = [] while(inputString.length % 8 !=0){//比我的方法好,判断条件少,不容易出现加8个0的错误 inputString.push('0') } for(let i = 0;i < inputString.length ;i = i + 8){ finalArr.push(inputString.slice(i,i+8)); } finalArr.forEach((item) => { console.log(item.join('')) }) }()
满洲里韦布——的方法
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 while(line = await readline()){ let str = line + '00000000'; // 先补0,这样最后长度肯定大于8 for (let i = 8; i < str.length; i += 8) { // i从8开始 保证substring从0开始 console.log(str.substring(i - 8, i)); } } }()
牛客553602196号——的方法
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 while(line = await readline()){ let arr = line.split('') let addNum = arr.length % 8 == 0 ? 0 : (8 - arr.length % 8)//三目运算符 for(let i = 0; i < addNum; i++){ arr.push('0') } let str = '' for(let i = 1; i <= arr.length; i++){ str += arr[i - 1] if(i % 8 === 0){ console.log(str) str = '' } } } }()
牛客944083017号——的方法
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 while ((line = await readline())) { let start = 0; let endIndex = start + 7; let length = line.length; let token; while (endIndex < length) { //get token token = line.slice(start, endIndex + 1); //update index start = endIndex + 1; endIndex = start + 7; console.log(token); } //when endIndex > length if (start !== length) { //get the token token = line.slice(start, length); for (let i = length; i <= endIndex; i++) { token = token.concat("0");//concat() 方法用于连接两个或多个字符串。 } console.log(token); } } })();
Jessiiiiie——的方法
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 while(line = await readline()){ let len = line.length; for (let i = 0; i < len; i = i + 8) { let substr = line.substring(i, i + 8); if (substr.length === 8) { console.log(substr); } else { console.log(substr.padEnd(8, '0'));//返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串。 } } } }()
牛客231636961号——的方法
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", function (lineInput) { const line = lineInput.split(" ").join(""); for (let i = 0; i <= line.length; i++) { if (i % 8 === 0) { let t = line.slice(i, i + 8); if ( 0 < t.length && t.length < 8) { t = t + "0".repeat(8 - t.length);//返回新的字符串,表示将字符串重复指定次数返回。 } console.log(t); } } });
多崎造有颜色——的方法
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let lines = ""; rl.on("line", function (line) { lines = line; let len = lines.length; if (len <= 8) { console.log(lines.padEnd(8, "0")); }else{ let k = Math.floor(len/8)//floor() 方法返回小于等于x的最大整数。如果传递的参数是一个整数,该值不变。 for(let i = 0; i<k; i++){ console.log(lines.slice(i*8,(i+1)*8)) } if(k*8 < len) console.log(lines.slice(k*8).padEnd(8, '0')) } });
最前端——的方法
练练练练练 文章被收录于专栏
练练练练练