재귀를 사용한 방법
def c(p,l):return [''.join(x) for x in zip(p,l,p)]
def s(n):
if n==1:return ['*']
n//=3
x=s(n)
a=c(x,x)
b=c(x,[' '*n]*n)
return a+b+a
print('\n'.join(s(int(input()))))
for x in zip(p, l, p):에 대한 고찰 예시
a = ['***', '* *', '***']
b = ['!!!', '* *', '$$$']
c = ['@@@', '* *', '###']
for x in zip(a,b,c):
print(x)
"""
Results :
('***', '!!!', '@@@')
('* *', '* *', '* *')
('***', '$$$', '###')
"""
for x in zip(a,b,c):
print(''.join(x))
"""
Results :
'***!!!@@@'
'* ** ** *'
'***$$$###'
"""
list 덧셈은 덧셈의 연결
a = ['***', '* *', '***']
b = ['!!!', '* *', '$$$']
c = ['@@@', '* *', '###']
print(a+b+c)
# Resutls = ['***', '* *', '***', '!!!', '* *', '$$$', '@@@', '* *', '###']