题解 | 字符串合并处理

字符串合并处理

https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f

import sys
# 处理合法十六进制并返回数字
def solve(c):
    #先转十进制
    t = int(c,16)
    #然后转二进制补零
    b = f"{t:04b}"
    #取反后转字符串
    b = ''.join(reversed(b))
    #二进制转十进制
    t = int(b,2)
    #十进制转十六进制
    res = f"{t:x}".upper()
    # print(res)
    return res

for line in sys.stdin:
    a = line.split()
    s = [x for x in (a[0]+a[1])]
    s[::2] = sorted(s[::2])
    s[1::2] = sorted(s[1::2])
    res = ''
    for c in s:
        if c.isdigit():
            c1 = solve(c)
            res+=c1
        elif c.isalpha() and c.lower()>='a' and c.lower()<='f':
            c1 = solve(c)
            res+=c1
        else:
            res+=c
    print(res)


全部评论

相关推荐

合适才能收到offe...:些许风霜罢了查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务