본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]17478번 재귀함수가 뭔가요?

by 현장 2021. 8. 27.

-코드

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

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

처음에는 출력해야 하는 글의 출력되는 방법을 잘못 이해해서 조금 헤매었고 그 뒤로는 언더바 개수가 입력이 4라면 16 12 8 4 0으로 떨어져야 하는데 반대로인 0 4 8 12 16으로 떨어져서 문제를 찾아보니 언더바에 곱해주는 수만 바꿔주면 되어서 해결하였습니다. 하지만 뭔가 너무 많이 찾아본 것 같아서 아쉬움이 남는 문제였습니다.