[백준/파이썬] 2447번 별 찍기 - 10 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 2447번 별 찍기 - 10
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
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 크기의 중앙 영역을 반복적으로 공백으로 바꿉니다.
댓글남기기