문제 링크
https://www.acmicpc.net/problem/2447
빨간 부분을 상, 주황 부분을 중, 노란 부분을 하로 생각해서 3구간으로 나누어 풀었다.
정답 코드
import sys
N = int(sys.stdin.readline())
def dnc(N):
if N == 1:
return ["*"]
divide = dnc(N//3)
stars = []
for d in divide: #상
stars.append(d*3)
for d in divide: #중
stars.append(d+" "*(N//3)+d)
for d in divide: #하
stars.append(d*3)
return stars
print("\n".join(dnc(N)))
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
Baekjoon Online Judge 17829번 파이썬. 분할정복. (0) | 2023.01.31 |
---|---|
Baekjoon Online Judge 2448번 파이썬. 분할 정복. (0) | 2023.01.19 |
Baekjoon Online Judge 11728번 (0) | 2023.01.13 |
Baekjoon Online Judge 1744번. 그리디. (0) | 2023.01.13 |
Baekjoon Online Judge 11399번 파이썬. 그리디. (0) | 2023.01.09 |