给出一排黑球和一排白球,使得K个小球排成新的一排组成的数字最大

能否给我解决这个问题的思路?

问题遇到的现象和发生背景

编程实现:
给出一排黑色带数字的小球(数字为0到9),和一排白色带数字的小球(数字为0到9),现从两排小球中一共选取K个小球排成一排。
要求:
1)选出的黑色小球顺序要和原来顺序一致;
2)选出的白色小球顺序要和原来顺序一致;
在满足以上要求的情况下,使得K个小球排成新的一排组成的数字最大

输入 输出

输入描述
第一行输入一组正整数,代表黑色小球,每个正整数范围为0到9,正整数之间以一个英文逗号隔开
第二行输入一组正整数,代表白色小球,每个正整数范围为0到9,正整数之间以一个英文逗号隔开
第三行输入一个正整数K(K小于等于所有小球的总数),表示从所有小球中共选取K个小球

输出描述 : 输出一个整数,表示按照要求选取K个小球后,组成的最大数字

运行结果

例如:
黑色小球:2,5,3
白色小球:4,2,6,1
K为3;
从两排小球中共选取3个小球。可以组成的最大数字为653。

我尝试过的方法

black = list(map(int,input().split(",")))
white = list(map(int,input().split(",")))
k = int(input())
res = ‘’
for i in range(k):
    mb = max(black)
    mw = max(white)
    if mb > mw:
        res += str(mb)
        black.remove(mb)
    else:
        res += str(mw)
        white.remove(mw)
print(int(res))

我想要达到的结果

同上(编程实现)

1)选出的黑色小球顺序要和原来顺序一致;
2)选出的白色小球顺序要和原来顺序一致;
没注意看有这两个要求,所以可以组成的最大数字为653,而不是654,因为4在6的前面

十分感谢,但是能够给我讲一下这个程序的运行思路吗