Algorithm/BOJ
[백준/2447] 별 찍기 - 10 (with 파이썬)
Potato potage
2022. 11. 23. 16:36
반응형
✔ 문제
✔ 풀이
import sys
input = sys.stdin.readline
n = int(input())
def star(x):
if x == 3:
return ["***", "* *", "***"]
arr = star(x // 3)
stars = []
for i in arr:
stars.append(i * 3)
for i in arr:
stars.append(i + ' ' * (x // 3) + i)
for i in arr:
stars.append(i * 3)
return stars
print('\n'.join(star(n)))
✔ 후기
전에 풀었던 피보나치 같은 재귀는 쉽게 풀었는데 이번 문제는 어려웠다. 구글링 해서 정답 코드를 보긴 했지만... ^_ㅠ
제일 작은 패턴은 n = 3일 때부터 시작인 걸 알고는 있었지만 조건을 어떻게 줘야 n = 9나 n = 27 인 경우에 가운데 텅 빈 공간을 출력할 수 있는지가 제일 관건이었던 것 같다.
반응형