Hanbit the Developer
[Python] 백준 2448번: 별 찍기 - 11 본문
https://www.acmicpc.net/problem/2448
import sys
input = sys.stdin.readline
def printStar(N):
curStar = [
" * ",
" * * ",
"***** "]
curLen = 3
while curLen < N:
for i in range(curLen):
curStar.append(curStar[i]*2)
curStar[i] = " "*curLen + curStar[i] + " "*curLen
curLen *= 2
for s in curStar:
print("".join(s))
if __name__ == '__main__':
N = int(input())
printStar(N)
패턴을 분석하면 다음과 같다.
1. 아래의 별 모양으로 시작한다.
*
* *
*****
2. 크기가 N인 별 피라미드를 N*2로 늘린다고 했을 때,
- 기존의 피라미드를 2번 복사한 것이 새로 추가된다.
- 기존의 피라미드에 공백이 추가된다. 이 때 뒤에도 공백을 추가해야한다.
여기에 맞게 코드 작성을 해주면 된다.
'Algorithm > 백준' 카테고리의 다른 글
[Python] 백준 5639번: 이진 검색 트리 (0) | 2021.07.20 |
---|---|
[Python] 백준 2638번: 치즈 (0) | 2021.07.19 |
[Python] 백준 1916번: 최소비용 구하기 (0) | 2021.07.16 |
[Python] 백준 1504번: 특정한 최단 경로 (0) | 2021.07.15 |
[Python] 백준 1305번: 광고 (0) | 2021.07.14 |