파게로그
[백준 2447번] 별 찍기 10 본문
문제 링크: 2447번 별 찍기 10
https://www.acmicpc.net/problem/2447
재귀는 어렵다. 하지만 피할 수 없기에 즐겨야(?) 한다. 프랙탈이 모니터를 채울 때의 그 쾌감을...!
배열을 사용하면 '비교적' 쉽게 해결할 수 있는 문제이다. 다른 풀이를 보니까, 엄청 큰 2차원 배열을 미리 선언해놓고 인덱스를 통해 채워나가는 풀이도 있다.
def paint(n):
if n==1:
return ['*']
arr = [0 for i in range(n)]
prev = n//3
prevArr = paint(prev)
idx = 0
for i in range(3):
for j in range(prev):
if i == 1:
arr[idx] = prevArr[j]+' '*prev+prevArr[j]
else:
arr[idx] = prevArr[j]*3
idx += 1
return arr
n = int(input())
res = paint(n)
for i in range(n):
print(res[i])
'콤퓨타 왕왕기초 > PS' 카테고리의 다른 글
[백준 2168번] 타일 위의 대각선 (0) | 2020.11.03 |
---|---|
[백준 11729번] 하노이의 탑 (0) | 2020.11.02 |
[백준 10870번] 피보나치 (0) | 2020.10.30 |
[백준 10872번] 팩토리얼 (0) | 2020.10.30 |
[백준 1002번] 터렛, 두 원의 교점의 개수 (0) | 2020.10.30 |
Comments