본문 바로가기
공부/데이터사이언스

[백준] 9단계 - 17478번 (파이썬) check!

by PYo 2022. 7. 3.
반응형

 

17478번

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

 

 

어렵다....

while문을 쓰고 싶은 충동을 이겨내고 재귀함수를 써보려고 노력했는데,

뭔가 아직 어색하다.

재귀함수만들 때 return을 많이 쓰게 되는데, 이건 print를 써야 하는 것 같아서

코드 짜는데 더 어색했다.ㅋㅋㅋㅋ

 

 

# n은 출력횟수.
# question은 챗봇이라서 질문따라 답변 달라질 수 있으므로 포함시킴(필수x).
def recur(question, n, cnt=""):          # cnt는 ""로 초기화함.
    if question == "재귀함수가 뭔가요?":
        if n == 0:
            print(cnt + "\"재귀함수가 뭔가요?\"")
            print(cnt + "\"재귀함수는 자기 자신을 호출하는 함수라네\"")
            print(cnt + '라고 답변하였지.')
            return None
        else:
            print(cnt + "\"재귀함수가 뭔가요?\"")
            print(cnt + "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.")
            print(cnt + "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.")
            print(cnt + "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"")
            cnt = cnt + "____"
            recur(question, n-1, cnt)
            print(cnt[:-4] + '라고 답변하였지.')
 

print("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.")
num = int(input())
question = "재귀함수가 뭔가요?"
recur(question, num)

 

 

 

반응형

댓글