17478_재귀함수가뭔가요?

minjun kim·2024년 5월 2일

Check Point !
( 해당사항 ✓체크 )

막힘 없이 수월하게 풀린 문제인가?

1시간이내로 풀렸던 문제인가? ✅

1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?

시간을 써도 도무지 풀 수 없는 문제인가?

솔루션을 찾아봤는가? ✅

난이도 체감

최상

하 ✅ (실5)

<이해도>

완벽히 이해 ✅

다소 헷갈리는 부분들이 있음

이해 못함

<덧붙일 말>
baking을 보면서 재귀가 두렵지 않아졌는데 아직도 많이 헤메는 모습이 있다.
재귀 문제에 조금더 천천히 풀어보도록하자.

해당문제에서는 앞에 "____"를 붙이는 것과 함수의 인자 부분이 이해가 안갔었는데 보다보니 이해는 갔다.

그리고 출력문에서도 꼭 input() 값만이아닌 임의의 값을 넣는것도 생각하자.

잘 모르겠으면 notion에 정리한 글을 다시 읽어가면 반복해보자.

문제

https://www.acmicpc.net/problem/17478

풀이

def print_liner(str, c):
    for i in range(c):
        print("_____", end = "")
    print(str,end="")
        

def func(cnt):
   
    if n == cnt:
        print_liner("\"재귀함수가 뭔가요?\"\n",cnt)
        print_liner("\"재귀함수는 자기 자신을 호출하는 함수라네\"\n",cnt)
    else:
        print_liner("\"재귀함수가 뭔가요?\"\n",cnt)
        print_liner("\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\"\n",cnt)    
        print_liner("마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n",cnt)
        print_liner("그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"\n",cnt)
        func(cnt+1)
    print_liner("라고 답변하였지.\n",cnt)

    


n = int(input())
print("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.")
func(0)
profile
배움의 흔적을 남기고 싶습니다.

0개의 댓글