importsysfromtypingimportListdefsolution(N:int)->List[str]:answer:List[str]=[]star=["***","* *","***"]cnt=0whileN>3:N/=3cnt+=1for_inrange(cnt):# 만들어진 현재의 별 모양을 기반으로 계속 다음 단계의 별 모양을 생성
# 이때 당연히 3배가 늘어나게 됨
star=make_star(star)returnstardefmake_star(star)->List[str]:tmp_star=[]# 별을 3배로 확장해서 새로운 패턴 생성
foriinrange(3*len(star)):current_length=len(star)ifi//current_length==1:tmp_star.append(star[i%current_length]+# 공백을 삽입해서 패턴 확장
" "*current_length+star[i%current_length])continuetmp_star.append(star[i%current_length]*3)returntmp_starN=int(sys.stdin.readline().rstrip())print(*solution(N),sep='\n')
Leave a comment