根据题意进行模拟即可,首先需要把第一个子串单独存储,然后把后面用分隔符隔开的子串先合并成一个子串,然后再按照长度k来切分字符串(长度不足k的按照k计算),按照规则把每一段的子串进行处理即可
const readline = require('readline');
给定一个非空字符串,其被 N 个'-' 分隔成 N+1个字串,给定正整数 K,要求除第一个字串外,其余的子串每 K 个字符组成新的子串,并用 '-' 分隔。
对于新组成的每一人子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母,反之,如果它含有的大写字母比小写字母多,则将这个子的所有小写字母转换为大写字母,大小写字母的数量相等时,不做转换。
输入第一行为一个整数 K,第二行为字符串 S,1<K≤10, 1≤S的长度≤1e5, 保证字符串由可见字符组成
输出转换后的字符串
输入
3
12abc-abcABC-4aB@
输出
12abc-abc-ABC-4aB-@
说明:
子串为 12abc 、abCABc、4aB@,第一个子串保留后面的子串每 3 个字符一组为 abC、ABc 、4aB 、@ , abC 中小写字母较多,转换为 abc , ABc 中大写字母较多,转换为 ABC , 4aB 中大小写字母都为 1 个,不做转换, @ 中没有字母,连起来即12abc-abc-ABC-4aB-@。
输入
12
12abc-abCABc-4aB@
12abc-abCABc4aB@
说明:
子串为 12abc 、abCABc 、4aB@ ,第一个子串保留,后面的子串每 12 个字符组为abCABc4aB@,这个子串中大小写字母都为 4 个,不做转换,连起来即 12abc−abCABc4aB@。