IT/Python
[백준] 2448번 별 찍기 - 11 [Python]
joseph24
2023. 12. 20. 11:36
728x90
아래 예제를 보고 규칙을 유추하여 주어진 N 에 대해서 별을 출력하는 문제
24
*
* *
*****
* *
* * * *
***** *****
* *
* * * *
***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* *
* * * *
***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* * * * * * * *
* * * * * * * * * * * * * * * *
***** ***** ***** ***** ***** ***** ***** *****
더보기
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N이 주어진다. N은 항상 3×
출력
첫째 줄부터 N번째 줄까지 별을 출력한다.
초기 별 ['*', "* *", "*****"] 세팅
N 줄에 대해서 가운데 정렬해서 출력한다.
import sys
input = sys.stdin.readline
N = int(input())
stars = ['*', "* *", "*****"]
ans = []
k = 3
for i in range(N):
if i == k:
tmp = []
for j, star in enumerate(stars):
tmp.append(star+" "*(2*(i-j)-1)+star)
stars += tmp
k *= 2
ans.append(stars[i].center(2*N-1))
print("\n".join(ans))
더보기
예제 입력 1
24
예제 출력 1
*
* *
*****
* *
* * * *
***** *****
* *
* * * *
***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* *
* * * *
***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* * * * * * * *
* * * * * * * * * * * * * * * *
***** ***** ***** ***** ***** ***** ***** *****