华为OD机试E卷|字符串分割转换
0、关于本专栏 & 刷题交流群
本文收录于专栏【2024华为OD机试真题】,专栏共有上千道OD机试真题,包含详细解答思路、与四种代码实现(Python、Java、C++、JavaScript)。
点击文末链接加入【华为OD机试交流群】,和群友一起刷题备考。刷的越多,考试中遇到原题的概率就越大,永久、实时更新新题目。
1、题目详情
问题描述
给定一个非空字符串S, 其被N个-
分隔成 N + 1 的子串, 给定正整数K, 要求除第一个子串外, 其余的子串每K个字符组成新的子串, 并用 -
分隔.
对于新组成的每一个子串, 如果它含有的小写字母比大写字母多, 则将这个子串的所有大写字母转换为小写字母.
反之, 如果它含有的大写字母比小写字母多, 则将这个子串的所有小写字母转换为大写字母; 大小写字母的数量相等时, 不做转换,
输入格式
输入为两行, 第一行为参数K, 第二行为字符串S.
输出格式
输出转换后的字符串.
示例输入1
3
12abc-abCABc-4aB@
示例输出1
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@
示例输出2
12abc-abCABc4aB@