【华为机试刷题笔记】HJ40-统计字符

【华为机试刷题笔记】HJ40-统计字符_第1张图片

题目描述

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
数据范围:输入的字符串长度满足 1 ≤ n ≤ 1000 1≤n≤1000 1n1000

输入描述:
输入一行字符串,可以有空格

输出描述:
统计其中英文字符,空格字符,数字字符,其他字符的个数

示例1

输入:1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][
输出:26
	3
	10
	12

题解

下面展示本人题解思路代码。

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 line = String(await readline())
    let letter = 0
    let blank = 0
    let num = 0
    let other = 0
    for(let item of line){
        if(/[a-zA-Z]/.test(item)){
            letter++;
        }
        if(/\s/.test(item)){
            blank++;
        }
        if(/[0-9]/.test(item)){
            num++;
        }
        if(/[^a-zA-Z0-9\s]/.test(item)){
            other++;
        }
    }
    console.log(letter)   
    console.log(blank)   
    console.log(num)   
    console.log(other)   
}()

文章系原创,在阅读过程中如若有误,劳请指正;如若有妙解、疑惑也欢迎大家和我交流,感谢!

你可能感兴趣的:(快乐刷题每一天之华为机试103,javascript,开发语言,ecmascript,算法,前端)