728x90
문제
link: https://www.acmicpc.net/problem/2447
재귀함수를 이용하여 가운데가 공백인 문자열을 출력하는 문제이다.
접근
N*N 사이즈 리스트를 만든 후, 재귀함수를 통해 가운데 부분을 공백 문자열로 바꿔 주었다.
코드
import sys
input = sys.stdin.readline
N = int(input())
S = [['*' for _ in range(N)] for _ in range(N)]
def makeStar(a, b, N):
if N != 1:
tmp = N // 3
for i in range(a + tmp, a + tmp*2):
for j in range(b + tmp, b + tmp*2):
S[i][j] = ' '
for k in range(3):
for l in range(3):
if k != 1 or l != 1:
makeStar(a + k * tmp, b + l * tmp, tmp)
makeStar(0, 0, N)
for s in S:
print(''.join(s))
728x90
'코딩테스트' 카테고리의 다른 글
[백준] 10214 | Baseball [파이썬/python] (0) | 2025.03.22 |
---|---|
[백준] 15649 | N과 M (1) [파이썬/python] (0) | 2025.03.21 |
[백준] 33541 | 2025는 무엇이 특별할까? [파이썬/python] (0) | 2025.03.19 |
[백준] 4779 | 칸토어 집합 [파이썬/python] (0) | 2025.03.19 |
[백준] 24060 | 알고리즘 수업 - 병합 정렬 1 [파이썬/python] (0) | 2025.03.18 |