:link:문제 링크

[10994 별 찍기 19]

:question:문제 설명

별이 찍히는 규칙을 찾아서 출력하는 문제

:pencil2:코드

import sys
input = sys.stdin.readline


def star(n):
    result = []
    if n == 1:
        return ["*"]

    base = star(n - 1)

    result.append("*" * (4 * n - 3))
    result.append("*" + " " * (4 * n - 5) + "*")
    for x in base:
        result.append("*" + " " + x + " " + "*")
    result.append("*" + " " * (4 * n - 5) + "*")
    result.append("*" * (4 * n - 3))

    return result


n = int(input())
res = star(n)
print("\n".join(res))

:memo:풀이

RAI공부하는데 Recursion이 나와서 생각난김에 풀어보았다. 재귀 문제는 핵심이 base를 중심으로 모양이 어떻게 퍼져나가는지 파악하는 것이다. 오랜만에 풀어보았는데 뭔가 새롭고 재밌었다 ㅎㅎㅎㅎ

댓글남기기