728x90
https://www.acmicpc.net/problem/2448
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
코드
- 굳이 번거롭게 만든 재귀 문제
- 8개 별을 가지는 삼각형을 기준으로 수행
import sys
input = sys.stdin.readline
n = int(input())
graph = [[' '] * 2 * n for _ in range(n)]
def recursive(row, col, N):
if N == 3:
graph[row][col] = '*'
graph[row + 1][col - 1] = graph[row + 1][col + 1] = '*'
for i in range(-2, 3):
graph[row + 2][col + i] = '*'
else:
nextN = N // 2
recursive(row, col, nextN) # 현재 위치의 삼각형과 양쪽 아래에 삼각형 생성
recursive(row + nextN, col - nextN, nextN) # left-lower 삼각형과 양쪽 아래에 삼각형 생성
recursive(row + nextN, col + nextN, nextN) # right-lower 삼각형과 양쪽 아래에 삼각형 생성
recursive(0, n - 1, n)
for i in graph:
print("".join(i))
# *
# * *
# *****
# * *
# * * * *
# ***** *****
# * *
# * * * *
# ***** *****
# * * * *
# * * * * * * * *
# ***** ***** ***** *****
# * *
# * * * *
# ***** *****
# * * * *
# * * * * * * * *
# ***** ***** ***** *****
# * * * *
# * * * * * * * *
# ***** ***** ***** *****
# * * * * * * * *
# * * * * * * * * * * * * * * * *
#***** ***** ***** ***** ***** ***** ***** *****
728x90
'Algorithm & Data Structure > Baekjoon' 카테고리의 다른 글
[Baekjoon/python] 가장 긴 증가하는 부분 수열 #11053 (0) | 2023.06.29 |
---|---|
[Baekjoon/python] LCS #9251 (0) | 2023.06.24 |
[Baekjoon/python] 벽 부수고 이동하기 #2206 (0) | 2023.06.19 |
[Baekjoon/python] 트리 순회 #1991 (0) | 2023.06.15 |
[Baekjoon/python] 알파벳 #1987 (0) | 2023.06.14 |