ps:problems:boj:17478
목차
재귀함수가 뭔가요?
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 17478 |
문제명 | 재귀함수가 뭔가요? |
레벨 | 실버 5 |
분류 |
기초 |
시간복잡도 | O(n) |
인풋사이즈 | n<=50 |
사용한 언어 | Python |
제출기록 | 29200KB / 68ms |
최고기록 | 56ms |
해결날짜 | 2021/12/23 |
풀이
- 그냥 간단한 구현문제.
- 재귀함수를 써서 푸는 것을 의도한 문제인것 같지만, 그냥 패턴을 찾아서 반복으로 푸는 것도 간단하다.
- 시간복잡도는 O(n).
코드
"""Solution code for "BOJ 17478. 재귀함수가 뭔가요?".
- Problem link: https://www.acmicpc.net/problem/17478
- Solution link: http://www.teferi.net/ps/problems/boj/17478
"""
HEADER = '어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.'
BEFORE = (
'"재귀함수가 뭔가요?"',
'"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.',
'마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.',
'그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."',
)
MAIN = (
'"재귀함수가 뭔가요?"',
'"재귀함수는 자기 자신을 호출하는 함수라네"',
'라고 답변하였지.',
)
AFTER = '라고 답변하였지.'
def main():
N = int(input())
print(HEADER)
for i in range(N):
prefix = '_' * (i * 4)
for line in BEFORE:
print(prefix, line, sep='')
prefix = '_' * (N * 4)
for line in MAIN:
print(prefix, line, sep='')
for i in reversed(range(N)):
print('_' * (i * 4) + AFTER)
if __name__ == '__main__':
main()
ps/problems/boj/17478.txt · 마지막으로 수정됨: 2022/01/01 13:57 저자 teferi
토론