언어: python
번호: 2447
제목: 별 찍기 - 10
등급: 골드 5
풀이 과정:
재귀를 이용해서 푼다. 크기 3의 패턴을 array로 만든다.
코드:
# 2447
n = int(input())
arr = ["***", "* *", "***"]
cnt = -1
while n:
cnt += 1
n //= 3
for i in range(1, cnt):
l1 = [j*3 for j in arr]
l2 = [j+" "*3**i+j for j in arr]
arr = [*l1, *l2, *l1]
print("\n".join(arr))
메모:
결국 못 풀고 답지 봤는데 이해는 되도 내가 짜기는 어렵다... 재귀함수 개념은 이해하고 피타고라스채는 익숙해졌지만 그림 그리는 건 문제를 많이 안 풀어봐서 그런 것 같다. 다른 문제도 풀어봐야지
'BOJ' 카테고리의 다른 글
[백준/BOJ] python 1149번 RGB거리 (0) | 2023.02.03 |
---|---|
[백준/BOJ] python 1912번 연속합 (0) | 2023.01.30 |
[백준/BOJ] python 10988번 팰린드롬인지 확인하기 (0) | 2023.01.25 |
[백준/BOJ] python 10448번 유레카 이론 (0) | 2023.01.25 |
[백준/BOJ] python 2217번 로프 (0) | 2023.01.25 |