Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 데이터시각화
- 유데미코리아
- Til
- 데이터프레임
- python
- 그리디 알고리즘
- 파이썬
- 넘파이
- 시각화
- 부트캠프후기
- 스타터스부트캠프
- 유데미큐레이션
- DataFrame
- matplotlb
- 취업부트캠프
- 유데미
- 백준
- 태블로
- 정렬
- Tableau
- pandas
- 판다스
- 데이터드리븐
- 데이터분석
- Leetcode
- ndarray
- 코딩테스트
- 브루트포스 알고리즘
- 유데미부트캠프
- numpy
Archives
- Today
- Total
Diary, Data, IT
[백준] 17478번 재귀함수가 뭔가요? - Python 본문
[백준] 17478번 재귀함수가 뭔가요? - Python
17478번: 재귀함수가 뭔가요?
평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대
www.acmicpc.net
https://www.acmicpc.net/problem/17478
문제
출력을 원하는 재귀 횟수 N이 주어질 때, 재귀 횟수에 맞는 응답을 출력합니다.
예제 입력 1)
2
예제 출력 1)
어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.
"재귀함수가 뭔가요?"
"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
____"재귀함수가 뭔가요?"
____"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
____마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
____그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
________"재귀함수가 뭔가요?"
________"재귀함수는 자기 자신을 호출하는 함수라네"
________라고 답변하였지.
____라고 답변하였지.
라고 답변하였지.
예제 입력 2)
4
예제 출력 2)
어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.
"재귀함수가 뭔가요?"
"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
____"재귀함수가 뭔가요?"
____"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
____마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
____그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
________"재귀함수가 뭔가요?"
________"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
________마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
________그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
____________"재귀함수가 뭔가요?"
____________"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
____________마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
____________그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
________________"재귀함수가 뭔가요?"
________________"재귀함수는 자기 자신을 호출하는 함수라네"
________________라고 답변하였지.
____________라고 답변하였지.
________라고 답변하였지.
____라고 답변하였지.
라고 답변하였지.
아이디어
"재귀함수가 뭔가요? ~ 한 선비가 찾아와서 물었어." / "라고 답변하였지." 까지가 재귀함수로 반복되고 있으며,
반복 횟수에 따라 ____가 늘어나는 것을 확인할 수 있습니다.
또한 마지막 회차에는 "재귀함수는 자기 자신을 호출하는 함수라네"를 추가적으로 출력해야 합니다.
1) 크게 보면 "재귀함수가 뭔가요? ~ 한 선비가 찾아와서 물었어."와 "라고 답변하였지." 사이에 재귀함수를 넣어
내부에서 반복적으로 동작하고 있는 것을 확인할 수 있습니다.
2) 반복해서 늘어나는 ____를 표현해주기 위해 추가적인 매개변수(a)를 입력받고 재귀함수 내에서 값이 증가하도록 설정합니다.
3) 마지막 회차(n == 0)에는 다른 문구를 출력하도록 설정해줘야 합니다.
코드
def recursive(n, a = 0):
if a == 0:
print('어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.')
if n == 0:
print('____'*a + '"재귀함수가 뭔가요?"')
print('____'*a + '"재귀함수는 자기 자신을 호출하는 함수라네"')
print('____'*a + '라고 답변하였지.')
return
print('____'*a + '"재귀함수가 뭔가요?"')
print('____'*a + '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.')
print('____'*a + '마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.')
print('____'*a + '그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."')
recursive(n-1, a = a+1)
print('____'*a + '라고 답변하였지.')
recursive(n = int(input()))
'Coding Test > Baekjoon' 카테고리의 다른 글
[백준] 18312번 시각 - Python (0) | 2022.10.05 |
---|---|
[백준] 10814번 나이순 정렬 - Python (0) | 2022.09.15 |
[백준] 1978번 소수 찾기 - Python (0) | 2022.09.15 |
[백준] 4673번 셀프 넘버 - Python (0) | 2022.09.08 |
[백준] 10610번 30 - Python (0) | 2022.09.08 |