728x90
https://www.acmicpc.net/problem/17478
import sys
n = int(sys.stdin.readline())
def recursion(depth): #1
print('____' * depth + "\"재귀함수가 뭔가요?\"")
if depth == n: #2
print('____' * depth + "\"재귀함수는 자기 자신을 호출하는 함수라네\"")
else:
print('____' * depth + "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.")
print('____' * depth + "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.")
print('____' * depth + "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"")
recursion(depth + 1) #3
print('____' * depth + "라고 답변하였지.") #4
print('어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.')
recursion(0)
파이썬의 문자열은 곱하기 연산으로 여러번 출력할 수 있다는 것을 잊고 있었는데 이 문제로 다시 상기할 수 있었다.
#1 : 재귀 함수 호출
#2 : 특정 깊이가 되면 조건 출력
#3 : 깊이dpeth를 올려서 ____을 추가해줄 재귀호출
#4 : 호출이 끝나면서 내려감
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 1018 파이썬(python) : 체스판 다시 칠하기 - (나중에) (0) | 2022.06.24 |
---|---|
[백준] 1436 파이썬(python) : 영화감독 숌 (0) | 2022.06.24 |
[백준] 10870 파이썬(python) : 피보나치 수 5 (0) | 2022.06.23 |
[백준] 11729 파이썬(python) : 하노이 탑 이동 순서 (0) | 2022.06.23 |
[백준] 2839 파이썬(python) : 설탕 배달 - (★) (0) | 2022.06.23 |