版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42449444/article/details/86373282
A squared string is a string of n
lines, each substring being n
characters long. We are given two n-squared strings.
s1 = "abcd\nefgh\nijkl\nmnop"
s2 = "qrst\nuvwx\nyz12\n3456"
Let us build a new string strng
of size (n + 1) x n
in the following way:
strng
has the first char of the first line of s1 plus the chars of the last line of s2.strng
has the first two chars of the second line of s1 plus the chars of the penultimate line of s2 except the last char.strng
has the n chars of the nth line of s1 plus the first char of the first line of s2.Calling this function compose(s1, s2)
we have:
compose(s1, s2) -> "a3456\nefyz1\nijkuv\nmnopq"
or printed:
abcd qrst --> a3456
efgh uvwx efyz1
ijkl yz12 ijkuv
mnop 3456 mnopq
额,我真的是个菜鸡,刷这道7kyu的题很吃力呀,题目大意就是给定一个字符串把它组成一个方形字符串。第一行string
有s1的第一行加s2的最后一行的字符的第一个字符。第二行string
有s1第二行的前两个字符加上s2的倒数第二行的字符,除了最后一个字符。依此类推,直到第n行string
具有s1的第n行的n个字符加上s2的第一行的第一个字符。
def compose(s1, s2):
s1 = s1.split("\n")
s2 = s2.split("\n")[::-1]
l = []
for i in range(len(s1)):
l.append(s1[i][:i+1] + s2[i][:(len(s1)-i)])
return "\n".join(l)