您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页2024_E_100_字符串分割

2024_E_100_字符串分割

来源:榕意旅游网

题目描述
给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。
对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;
反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换。

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

输出描述
输出转换后的字符串。

用例
输入 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@

AC通过

def func():
    res = []
    k = int(input())
    strs = input().split('-')
    str1 = strs[0]
    str2 = ''.join(strs[1:])

    def changeStr(str):
        #如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;
#       如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换。
        large = 0
        small = 0
        for i in range(len(str)):
            if str[i].islower():
                small += 1
            if str[i].isupper():
                large += 1
        if large == small:
            return str
        if large > small:
            return str.upper()
        if large < small:
            return str.lower()
    res.append(str1)
    for i in range(0,len(str2),k):
        tmp = changeStr(str2[i:i+k])
        res.append(tmp)
    return "-".join(res)


if __name__ == '__main__':
    print(func())


"""
3
12abc-abCABc-4aB@
"""
用例1
输入
3
12-12
输出
12-12
用例2
输入
3
12-12-1
输出
12-121
用例3
输入
3
a12-ab12-cd12
输出
a12-ab1-2cd-12
用例4
输入
4
a12-ab12-cd12
输出
a12-ab12-cd12
用例5
输入
3
a12a12-ab12-cd12
输出
a12a12-ab1-2cd-12
用例6
输入
2
l-T
输出
l-T
用例7
输入
1
3ZnbrQZ
输出
3ZnbrQZ
用例8
输入
2
3ZnbrQZ
输出
3ZnbrQZ
用例9
输入
1
3U-y-3UO
输出
3U-y-3-U-O
用例10
输入
4
t3-aQw7
输出
t3-aqw7
用例11
输入
4
t3-aQw7-QQQw
输出
t3-aqw7-QQQW
用例12
输入
5
a-by1U-7pOsk7m-bm1BWD
输出
a-by1u7-posk7-mbm1b-WD
用例13
输入
4
3-D3w2C--
输出
3-D3w2-C
用例14
输入
2
Mt2--
输出
Mt2
用例15
输入
5
D7W-VeO-1336--K--e-2ZF
输出
D7W-VEO13-36Ke2-ZF
用例16
输入
7
D7-r7yTq1010L36x4Y3W
输出
D7-r7ytq10-10L36x4-Y3W
用例17
输入
4
M-75-62K3qmm5dRH
输出
M-7562-k3qm-m5dr-H
用例18
输入
10
avWM52-R-10102PD23x18CW0322upI-V4-YKT
输出
avWM52-R10102PD23-x18CW0322u-PIV4YKT
用例19
输入
3
q-5-NU4wiVb39610438
输出
q-5NU-4wi-Vb3-961-043-8
用例20
输入
5
m174-8hT4-q7-Srw5Yx7-nV9a-51-1s81V88-OQhD4-4U
输出
m174-8ht4q-7srw5-Yx7nV-9a511-s81V8-8OQHD-44U
用例21
输入
7
07zxtm-3000pVQb311010-19n1qe93xb90nq10Pi-yr4i0da10
输出
07zxtm-3000PVQ-b311010-19n1qe9-3xb90nq-10piyr4-i0da10
用例22
输入
3
0C-xhH6R8-h3-LES1-751210--W7-0fQ0Rwn3y1RiDS-6Pr5-UZJ1310-dA1n9Cq-11-N13A-Gf5w509Bf10tX73----evQ-865
输出
0C-xhh-6R8-h3L-ES1-751-210-W70-fQ0-rwn-3y1-RID-S6P-r5U-ZJ1-310-dA1-n9C-q11-N13-AGF-5w5-09B-f10-tX7-3ev-Q86-5
用例23
输入
13
Y2-e1v-d-y--N31-MNR9hpwKaGz4073Nwb7-E11010wz--31OY6R9g1010R5JD-8r3-09eD452fyV7QN7B-3aWxF1kqUJr6Qz42--6L82
输出
Y2-e1vdyn31mnr9h-pwkagz4073nwb-7E11010WZ31OY-6R9G1010R5JD8-r309ed452fyv7-QN7B3AWXF1KQU-JR6QZ426L82
用例24
输入
5
l--42-3E4U-QYXT08pQE9AZO61-10H786-WrkFW4w10A-5Rmm510dGHGm-BC6NH022zU91010y3UX-10qKi-83d6101076Z85QR10Sa951S-1
输出
l-423E4-UQYXT-08PQE-9AZO6-110H7-86wrk-FW4W1-0A5RM-m510d-GHGMB-C6NH0-22zU9-1010y-3UX10-qki83-d6101-076Z8-5QR10-Sa951-S1
用例25
输入
11
vmj3TTK3113CK1723ksP-w711010qH-0mD3--UOo4a67la-fDv2-7-X3J--y109p010-nqUN8umU-s-g6K20FYec8K3W29-l84R2q2oA6l9u42L
输出
vmj3TTK3113CK1723ksP-w711010qh0m-d3uoo4a67la-fDv27X3Jy10-9p010nqun8u-mUsg6K20FYe-C8K3W29L84R-2q2oa6l9u42-L
用例26
输入
50
a3i10G3S3-Vfd--rdZ8B6--D4A5G002vB04oUpJI9228A396OI-x-PCry9i5KX-1S10k59er9s6ru57-Wlsh714B82m10105--C6A7F-7jA48491T1kr-5B6S10675q-1pxc3pF6U0Wtn1----
输出
a3i10G3S3-VFDRDZ8B6D4A5G002VB04OUPJI9228A396OIXPCRY9I5KX1S-10k59er9s6ru57wlsh714b82m10105c6a7f7ja48491t1kr5b6-s10675q1pxc3pf6u0wtn1
用例27
输入
100
-Yz4D80-M8778i41w5Sb-e17GX4tJ101030Zz9392KQx94aXQa16-71049c1I9W6vOv51010-LVV--020E-t-9aWB5b0-880y0Z-6Xp1d3xO7-nJz80n610s581078kDkx7iMB-81m-dc0td6-10-
输出
-YZ4D80M8778I41W5SBE17GX4TJ101030ZZ9392KQX94AXQA1671049C1I9W6VOV51010LVV020ET9AWB5B0880Y0Z6XP1D3XO7-njz80n610s581078kdkx7imb81mdc0td610
用例28
输入
20
S41010-9e-s2ThDC1-VM7X-j5--1F7-vi--9B85-C1-ke3-3R7c573RymWK4et2N9536Z3-9410S8U3331aaMhIH-N1010lrzVN5o32DAgmpG3561010b50hYOh9b-4rLn108-r8h41010hZ-10102-4-uU74jJ973gu94q1t6J37lf106d-nku370d6wF657-e5972RKn2103n-x37u-G47A880E6a68K-93l2N86h18E3hs4vM-zM-6QZVPsqz7V1071474p8-95F-q1
输出
S41010-9ES2THDC1VM7XJ51F7VI-9B85C1ke33R7c573RymW-K4ET2N9536Z39410S8U3-331aaMhIHN1010lrzVN5-o32dagmpg3561010b50h-yoh9b4rln108r8h41010-hz101024uu74jj973gu9-4q1t6j37lf106dnku370-d6wf657e5972rkn2103n-x37uG47A880E6a68K93l-2N86H18E3HS4VMZM6QZV-psqz7v1071474p5f-q1
用例29
输入
3
12abc-abCABc-4aB@
输出
12abc-abc-ABC-4aB-@
用例30
输入
12
12abc-abCABc-4aB@
输出
12abc-abCABc4aB@

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务