본문 바로가기
백준

백준 4779 칸토어집합(python)

by 콩순이냉장고 2024. 12. 17.

문제 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

 

 

 

 

 

지금생각해보니 짜르는 과정을 그냥 리스트에 담고 슬라이스 과정으로

-를 출려했는데 그냥 숫자만 갖다줘도 충분할것같았네요

궁금한점 혹은 모르는점 어떤 질문이든

댓글은 언제나 환영입니다.