[TIL] 백준 4779 칸토어 집합

2024. 9. 8. 11:51·TIL

문제 : https://www.acmicpc.net/problem/4779

참고 강의 : 인프런 - 세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

 

* 오늘의 학습 키워드 : 재귀함수

 - 함수 내에서 자기 자신을 호출하는 함수를 의미

  • 핵심 개념
    • 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
'TIL' 카테고리의 다른 글
  • [TIL] 백준 4963 - 섬의 개수 ( python )
  • [TIL] 백준 1326 - 폴짝폴짝 ( python )
  • [TIL] 99클럽 코테 스터디 23일차 TIL + 오늘의 학습 키워드
  • [TIL] 99클럽 코테 스터디 21일차 TIL + 오늘의 학습 키워드
밀27
밀27
  • 밀27
    밀2
    밀27
    • 분류 전체보기 (33)
      • Git (1)
      • AWS (1)
      • Flutter (3)
      • Spring (3)
      • MariaDB (2)
      • TIL (23)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
밀27
[TIL] 백준 4779 칸토어 집합
상단으로

티스토리툴바