백준 - 단계별 문제풀기(10870번, 17478번)

유다송·2022년 9월 10일
0

10870번

n = int(input())

def fibo(n):
    if n <= 1:
        return n
    return fibo(n - 1) + fibo(n - 2)

print(fibo(n))
  • 재귀함수를 사용해서 풀면 된다.
  • 0과 1인 상황에는 그대로 return하면 되고, 아닌 경우에는 앞에 두 값을 더한걸 return하도록 했다.

17478번

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

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

0개의 댓글