문제 : https://www.acmicpc.net/problem/4779
참고 강의 : 인프런 - 세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
* 오늘의 학습 키워드 : 재귀함수
- 함수 내에서 자기 자신을 호출하는 함수를 의미
- 핵심 개념
- Base Case(기본 케이스) 와 Recursive Case(재귀 케이스)
- Base Case : 재귀 함수를 종료하는 부분
- Recursive Case : 자기 자신을 호출하는 부분
- Base Case(기본 케이스) 와 Recursive Case(재귀 케이스)
풀이 1 : bottom-up
ans = ['' for _ in range(13)]
ans[0] = '-'
for i in range(1, 13):
ans[i] = ans[i-1] + (' ' * (3 ** (i-1))) + ans[i-1]
while True:
try:
N = int(input())
print(ans[N])
except:
break
풀이 2 : 재귀함수
def func(k):
#base case
if k == 0:
return '-'
#recursive case
return func(k-1) + (' ' * (3 ** (k-1))) + func(k-1)
while True:
try:
N = int(input())
print(func(N))
except:
break
'TIL' 카테고리의 다른 글
[TIL] 백준 4963 - 섬의 개수 ( python ) (0) | 2025.03.04 |
---|---|
[TIL] 백준 1326 - 폴짝폴짝 ( python ) (0) | 2025.03.03 |
[TIL] 99클럽 코테 스터디 23일차 TIL + 오늘의 학습 키워드 (0) | 2024.06.12 |
[TIL] 99클럽 코테 스터디 21일차 TIL + 오늘의 학습 키워드 (1) | 2024.06.10 |
[TIL] 99클럽 코테 스터디 2일차 TIL + 오늘의 학습 키워드 (0) | 2024.05.22 |