공부/데이터사이언스
[백준] 9단계 - 17478번 (파이썬) check!
PYo
2022. 7. 3. 12:48
반응형
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)
반응형