재귀함수
#재귀
백준 2447번 : 별 찍기 - 10
1. 풀이
num = int(input())
def star(n):
if n == 1:
return ['*']
stars = star(n//3)
L = [] # 별을 출력할 리스트
for s in stars:
L.append(s*3) # 상 구간
for s in stars:
L.append(s+' '*(n//3)+s) # 중 구간
for s in stars:
L.append(s*3) # 하 구간
return L
print('\n'.join(star(num)))
아래는 star(3)의 결과값
['***', '* *', '***']
아래는 star(9)의 결과값
['*********', '* ** ** *', '*********', '*** ***', '* * * *', '*** ***', '*********', '* ** ** *', '*********']
Last updated