본문 바로가기

코딩테스트(python)/백준

백준 17478번 파이썬

반응형

1. 문제

2. 설명

첫번째 차례에만 나오는 "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다." 부분을 함수 호출 전에 출력해준다.

초기 i값을 0으로 두고 i를 하나씩 증가시키며 재귀함수를 불러온다.

i가 마침내 n이 될때 "재귀함수는 자기 자신을 호출하는 함수라네" 를 출력해준 후,

"____" * i +"라고 답변하였지." 를 순서대로 출력해준다.

이때 i는 1씩 줄어든다. 예를들어 n이 2일때, 2->1->0 순으로 i값이 줄어들게 된다.

3. 코드

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)
반응형

'코딩테스트(python) > 백준' 카테고리의 다른 글

백준 11829번 파이썬  (0) 2022.09.12
백준 2447번 파이썬  (0) 2022.09.07
백준 10870번 파이썬  (0) 2022.09.05
백준 10872번 파이썬  (0) 2022.09.05
백준 9020번 파이썬  (0) 2022.09.02