📊알고리즘, 문제풀이/📈문제풀이 (PS)

[알고리즘][Python] 백준 2448 별 찍기 문제 풀이

Written by Donghak Park

문제 출처 : www.acmicpc.net/problem/2448

 

2448번: 별 찍기 - 11

첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수)

www.acmicpc.net


문제 해석 : 예시로 제시된 그림을 보고 규칙을 찾아 별 모양을 찍는 문제이다.

 

문제 풀이 : 간격에 유의하면서 재귀적으로 만들어가면 된다.


풀이 코드

import math

answer = ["  *   ", " * *  ", "***** "]
def stars(space):
    length = len(answer)
    for i in range(length):
        answer.append(answer[i] + answer[i])
        answer[i] = ("   " * space + answer[i] + "   " * space)


N = int(input())
iterate = int(math.log(N//3, 2))

for i in range(iterate):
    stars(int(pow(2, i)))

for i in range(N):
    print(answer[i])

author : donghak park
contact : donghark03@naver.com

## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.