문제 링크
https://www.acmicpc.net/problem/10994
풀이
def add_star(ptn):
return "* " + ptn + " *"
def star(n):
if n == 1:
return ["*"]
else:
return ["*"*(4*n-3), "*"+" "*(4*n-5)+"*"]\
+ list(map(add_star, star(n-1)))\
+ ["*"+" "*(4*n-5)+"*", "*"*(4*n-3)]
print("\n".join(star(int(input()))))
n이 1 커질 때 마다 위 아래로 두 줄씩 규칙적인 모양이 붙고, 기존 모양 양 옆에 "* "와 " *"이 붙는 규칙을 찾아 재귀함수로 구현하였다.
'연습장 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 1992] 쿼드트리 with Node.js (0) | 2021.07.08 |
---|---|
[백준 2630] 색종이 만들기 with Python (0) | 2021.07.07 |
[백준 6603] 로또 with Python (0) | 2021.07.06 |
[백준 2448] 별 찍기 - 11 with Python (0) | 2021.07.06 |
[백준 2630] 색종이 만들기 with Node.js (0) | 2021.06.04 |