알고리즘문제

백준17478번: 재귀함수가 뭔가요? [python]

5witch 2022. 5. 23. 16:07

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

 

17478번: 재귀함수가 뭔가요?

평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대

www.acmicpc.net

출처- 백준

 

재귀함수를 사용하는 문제

 

재귀를 알면 쉽게 풀수있음

 

 

 

출처 pixabay

재귀는 위 이미지처럼 함수가 자신을 다시 호출하여 작업을 수행하는 방식임

 

 

 

정답코드

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


n = int(input())

print("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.")
roof(n, "")

 

문제풀때 주의할점은 count 연산을 파라미터에서 해야한다는점