파이썬 알고리즘 문제 풀이

Baekjoon Online Judge 2448번 파이썬. 분할 정복.

gogi masidda 2023. 1. 19. 17:14

문제 링크
https://www.acmicpc.net/problem/2448

2448번: 별 찍기 - 11

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

www.acmicpc.net


빨간 부분과 주황 부분, 두개의 공간으로 나누어 풀었다.

정답 코드

import sys

N = int(sys.stdin.readline())

def draw_stars(N):
  if N == 3:
    return ["  *  "," * * ","*****"]

  divide = draw_stars(N//2)
  stars = []
  for d in divide: #빨간 공간
    stars.append(' '*(N//2)+d+' '*(N//2))
  for d in divide: #주황 공간
    stars.append(d + ' ' + d)

  return stars

print("\n".join(draw_stars(N)))
728x90