https://programmers.co.kr/learn/courses/30/lessons/43105
첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수)
예제 입력
24
예제 출력
*
* *
*****
* *
* * * *
***** *****
* *
* * * *
***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* *
* * * *
***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* * * *
* * * * * * * *
***** ***** ***** *****
* * * * * * * *
* * * * * * * * * * * * * * * *
***** ***** ***** ***** ***** ***** ***** *****
알고리즘 분류
분할 정복, 재귀
난이도
골드 4
사용 언어
python 3
해당 모형은 위의 그림처럼 삼각형을 기준으로 위 한개, 아래 두개가 합쳐져 있는 모습이다.
주의할 점은 위쪽 삼각형의 경우또한 양쪽에 공백을 두어 아래의 길이와 맞춰야 한다는 것이다.
def appendStar(n):
if(n==3):
return [" * "," * * ","***** "] # 1
star = appendStar(n//2)
result = []
for s in star:
result.append(' '*(n//2) + s+ ' '*(n//2)) # 2
for s in star:
result.append(s*2) # 3
return result
result = appendStar(int(input()))
for i in result:
print(i)