https://www.acmicpc.net/problem/4779
재귀 함수
def cantor(n):
if n == 1:
return '-'
return cantor(n // 3) + ' ' * (n // 3) + cantor(n // 3)
while True:
try:
n = int(input())
print(cantor(3 ** n))
except:
break
Bottom Up
def cantor(n):
arr = [''] * (3 ** n)
arr[0] = '-'
for i in range(1, n + 1):
arr[i] = arr[i - 1] + ' ' * 3 ** (i - 1) + arr[i - 1]
print(arr[n])
while True:
try:
n = int(input())
cantor(n)
except:
break