10994번: 별 찍기 - 19
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 차례대로 별을 출력한다.
코드
# i번째 사각형 한 변 길이 : 4(i-1)+1
n = int(input())
length = 4*(n-1)+1
stars = [[' '] * length for _ in range(length)]
def draw(num):
if num == 1:
stars[length//2][length//2] = "*"
return
# 한 변의 길이
l = 4 * (num-1) + 1
gap = (n-num)*2
# 맨윗줄, 맨아랫줄
for i in range(l):
stars[length//2-l//2][gap+i] = '*'
stars[length//2+l//2][gap+i] = '*'
# 양옆
for i in range(l):
stars[gap+i][gap] = "*"
stars[gap+i][length-gap-1] = "*"
return draw(num-1)
draw(n)
for i in range(length):
for j in range(length):
print(stars[i][j], end='')
print()
'문제풀이 > 구현' 카테고리의 다른 글
[Python/파이썬] 백준 5212번 지구 온난화 (0) | 2023.04.21 |
---|---|
[Python/파이썬] 백준 20436번 ZOAC 3 (0) | 2023.04.20 |
[Python/파이썬] 백준 1244번 스위치 켜고 끄기 (0) | 2023.04.19 |
[Python/파이썬] 백준 17140번 이차원 배열과 연산 (0) | 2023.03.06 |
[Python/파이썬] 백준 15685번 드래곤 커브 (0) | 2023.03.05 |