728x90
BOJ 10994 별 찍기 - 19
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
시간 제한 : 1 초
메모리 제한 : 256 MB
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 차례대로 별을 출력한다.
예제 입력 1
1
예제 출력 1
*
예제 입력 2
2
예제 출력 2
*****
* *
* * *
* *
*****
예제 입력 3
3
예제 출력 3
*********
* *
* ***** *
* * * *
* * * * *
* * * *
* ***** *
* *
*********
예제 입력 4
4
예제 출력 4
*************
* *
* ********* *
* * * *
* * ***** * *
* * * * * *
* * * * * * *
* * * * * *
* * ***** * *
* * * *
* ********* *
* *
*************
풀이
n = int(input())
star = [[' ' for _ in range(4 * n - 3)] for _ in range(4 * n - 3)]
def draw_star(n, x, y):
if n == 1:
star[y][x] = '*'
return
length = 4 * n -3
for i in range(length):
star[y][x+i] = '*'
star[y+i][x] = '*'
star[y+length-1][x+i] = '*'
star[y+i][x+length-1] = '*'
draw_star(n-1, x+2, y+2)
draw_star(n, 0, 0)
for j in star:
print(''.join(j))
728x90
'Algorithm(Python) > 재귀함수' 카테고리의 다른 글
[Algorithm] 백준 BOJ 25501 재귀의 귀재(python 파이썬) (1) | 2022.10.11 |
---|---|
[Algorithm] 백준 BOJ 2630 색종이 만들기(python 파이썬) (0) | 2022.09.02 |
[Algorithm] 백준 BOJ 1769 3의 배수(python 파이썬) (0) | 2022.05.26 |
[Algorithm] 백준 BOJ 17478 재귀함수가 뭔가요?(python 파이썬) (0) | 2022.05.25 |
[Algorithm] 백준 BOJ 1991 트리순회(python 파이썬) (0) | 2022.05.24 |