【牛客-华为机试】HJ2 计算某字符出现次数

38 阅读1分钟

题目 HJ2 计算某字符出现次数

  • 描述

    写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

    数据范围:  1≤n≤1000 

    • 输入描述:第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

    • 输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)

  • 示例1

      输入:ABCabc
            A
      输出:2
    

解题办法

  • 解析

    • 审题:这个字符串包含了字母、数字、空格、字符,求目标字符出现的次数。前面提到的种类中字母会有大小写之分,可以换成统一样式以更方便计数。

    • 先定义本字符串str和目标字符target转换为统一大小写。

    • 定义count是目标字符出现的次数(既然计数就会有多次的可能)。

    • for遍历字符串同时统计目标字符并累积到count

    • 字符串在 JavaScript 中不支持使用下标访问,而是需要使用 charAt() 方法(返回指定索引处的字符)来获取特定位置的字符。

  • 代码展示

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

void async function () {
    // 本字符串和目标字符,并转换为小写字母
    let str = (await readline()).toLowerCase();
    let target = (await readline()).toLowerCase();

    let count = 0;  // 统计目标字符出现的次数
    for(let i = 0; i < str.length; i++){
        if(str.charAt(i) === target){
            count++;
        }
    }
    console.log(count);  // 输出结果
}()