1import math
2
3N = int(input())
4K = int(math.log2(N//3))
5arr = [[' '] * (2*N-1) for _ in range(N)]
6
7
8def solve(depth, bx, by):
9 if depth == 0:
10 for i in range(3):
11 for j in range(i*2+1):
12 arr[by+i][bx+(2-i)+j] = '*'
13 arr[by+1][bx+2] = ' '
14 else:
15 px = 2**(depth)*3
16 py = 2**(depth-1)*3
17 solve(depth-1, bx+px//2, by)
18 solve(depth-1, bx, by+py)
19 solve(depth-1, bx+px, by+py)
20solve(K, 0, 0)
21for i in arr:
22 print (''.join(i))
- 혼자 풀었다
- 별이 찍혀져있는 모습을 보고 규칙을 찾아내서 구현하는 문제였다
- N이 3*(2^N)으로만 주어진다는 것을 토대로 재귀를 이용하여 풀었다