AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P2518. 字符串分割(二)

简单通过率 48% · 提交 660 · 通过 317
模拟字符串

小慕在整理一份项目文档时,发现了一个由组成的记录,该字符串被N个'-'分隔成了N+1个子串。给定一个正整数K,小慕需要按照如下规则重新整理:除了第一个子串保持不变外,其余的子串每K个字符组成一个新的子串,并用'-'将它们连接起来。 对于每个新组成的子串,小慕需要判断其中小写字母和大写字母的数量:如果小写字母比大写字母多,则将这个子串中的所有大写字母转换为小写字母;如果大写字母比小写字母多,则将这个子串中的所有小写字母转换为大写字母;如果两者数量相等,则不做任何转换。

提示:带虚线的词点一下有通俗解释。

输入描述

输入为两行,第一行为参数K,第二行为字符串S.

输出描述

输出转换后的字符串。

示例

示例 1

输入

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-@

示例 2

输入

12
12abc-abCABc-4aB@

输出

12abc-abCABc4aB@

说明:子串为12abc、abCABc、4aB@,第一个子串保留,后面的子串每12个字符一组为abCABc4aB@。这个子串中大小写字母都为4个,不做转换,连起来即12abc-abCABc4aB@。

示例 3

输入

5
12abc-abCABc-4aB@

输出

12abc-ABCAB-c4ab@

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
字符串分割与大小写转换示例 K=3, S="12abc-abCABc-4aB@" 原始字符串: 12 abc abC ABc 4aB @ 第一个子串保留: "12abc" 每K=3个字符分组: abC ABc 4aB @ 转换规则: • abC: 小写字母多 → 全小写: abc • ABc: 大写字母多 → 全大写: ABC • 4aB: 大小写相等 → 不变: 4aB • @: 无字母 → 不变: @
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「字符串分割(二)」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。