재귀를 이용해 풀었다.
중간을 기준으로 위쪽과 아래쪽으로 나누어 각 함수를 생성했다.
inn = int(input())
def counting_star(n, blank):
if n == 1:
print('* '*blank+'*'+' *'*blank)
return
else:
print('* '*blank+'*'*(1+(n-1)*4)+' *'*blank)
print('* '*blank+'*'+' '*(1+(n-1)*4-2)+'*'+' *'*blank)
blank+=1
counting_star(n-1,blank)
def down_counting_star(n, blank):
if blank == -1:
return
else:
print('* '*blank+'*'+' '*(1+(n-1)*4-2)+'*'+' *'*blank)
print('* '*blank+'*'*(1+4*(n-1))+' *'*blank)
blank-=1
down_counting_star(n+1,blank)
counting_star(inn,0)
down_counting_star(2,inn-2)
'백준' 카테고리의 다른 글
블랙잭 - 2798번 (0) | 2022.10.22 |
---|---|
스택 수열 - 1874번 (0) | 2022.10.20 |
별 찍기 - 23 - 13015번 (0) | 2022.10.17 |
보석 도둑 - 1202번 (0) | 2022.10.12 |
가운데를 말해요 - 1655번 (0) | 2022.10.11 |
댓글