[백준/파이썬] 2447번 별 찍기 - 10 풀이

업데이트:



문제 정보


풀이

문제

N = 3^k 크기의 별 패턴을 출력합니다. 각 단계에서 3x3 블록의 가운데를 비우는 프랙탈 구조 문제입니다.

코드

n = int(input())

triangle = [['*']*(n) for _ in range(n)]

for step in range(n):
    for x_pos in range(3**step, n, 3**(step+1)):
        for y_pos in range(3**step, n, 3**(step+1)):
            for i in range(3**step):
                for j in range(3**step):
                    triangle[x_pos+i][y_pos+j] = ' '

result = ''
for i in range(len(triangle)):
    result += ''.join(map(str,triangle[i])) + '\n'

print(result)

설명

처음에는 전부 *로 채우고, 단계(step)를 올려가며 3^step 크기의 중앙 영역을 반복적으로 공백으로 바꿉니다.



댓글남기기