문제 URL :
재귀를 이용한 분할정복 문제의 기초문제죠
3^n 길이를 잡고 1/3씩 길이를 잘르는 것이 핵심입니다.
소스코드:
import sys
#sys.stdin = open("input.txt","r")
def dfs(l):
if len(l)==1:
print(l[0],end='')
return
dfs(l[:len(l)//3])
for i in range(len(l)//3,len(l)*2//3):print(' ',end='')
dfs(l[len(l)*2//3:])
while True:
try:
n = int(input())
l = list('-'*(3**n))
dfs(l)
print()
except:
break
지금생각해보니 짜르는 과정을 그냥 리스트에 담고 슬라이스 과정으로
-를 출려했는데 그냥 숫자만 갖다줘도 충분할것같았네요
궁금한점 혹은 모르는점 어떤 질문이든
댓글은 언제나 환영입니다.
'백준' 카테고리의 다른 글
백준 15573 채굴 (c++) (1) | 2024.12.20 |
---|---|
백준 2637 장난감 조립(python) (2) | 2024.12.18 |
백준 20955 민서의 응급 수술(c++) (0) | 2024.11.30 |
백준 13016 내 왼손에는 흑염룡이 잠들어 있다 (c++) (0) | 2024.11.30 |
백준 7812 중앙트리 (Java) (2) | 2024.11.30 |