런타임 에러: 메모리
안녕하세요 강사님,
재귀함수 이해하기[문제풀이]: BOJ 10870 문제 풀이에서 궁금한 점이 있어 질문드립니다.
아래는 제 코드입니다. 백준 제출시 런타임 에러가 발생합니다.
시간 복잡도는 O(n)이 나와서 문제가 없는 듯한데,
재귀 호출이 너무 깊어져서 발생하는 문제인지, 궁금하여 여쭤봅니다.
감사합니다.
import sys
input1 = int(sys.stdin.readline())
def fibo(n, n_1, n_2):
if n == 1:
return n_1
else:
return fibo(n-1, n_1+n_2, n_1)
result = fibo(input1, 1, 0)
print(result)
답변 1
0
안녕하세요. 타이거님!
공유주신 코드는 잘 짜셨으나, n이 0인 경우를 고려하지 않으셨습니다.
다음과 같이 n이 0인 경우를 처리하는 조건을 추가해주시면 정답 처리 됩니다.
import sys
input1 = int(sys.stdin.readline())
def fibo(n, n_1, n_2):
if n == 0:
return n_2
if n == 1:
return n_1
else:
return fibo(n-1, n_1+n_2, n_1)
result = fibo(input1, 1, 0)
print(result)
또 궁금하신 점 있으시면 언제든 질문 부탁드립니다.
감사합니다. :)
Iterable 관련 설명 중 의문점
1
73
1
DP 알고리즘 index 0 이유?
0
80
2
백준에서 queue.PriorityQueue() 사용 시 런타임에러가 납니다.
0
78
2
(시간 초과) BOJ 1342 관련하여 질문이 있습니다
1
79
2
BFS, DFS
0
105
2
이중연결리스트에 관한 수업 내용도 있을까요?
0
98
1
영상에서 설명이 잘못됐고 자막이 맞는 내용이라고 자막에 표기
0
113
2
최대값 int(1e6, 1e7, 1e8) 기준
0
272
2
섹션 3 BOJ 1342 //= 연산자 관련
0
87
3
라이브러리 사용
0
118
2
2번 구현 방법 질문 있습니다.
0
167
1
브루트 포스 풀이
0
144
2
다익스트라 음수 간선
0
159
1
종료 조건
0
117
2
BOJ 1342 메모리초과 관련
0
123
2
진짜 엄청나네요. 이 가격에 새로운 컨텐츠 추가라니
0
215
1
섹션3 브루트포스 알고리즘 1342 풀이1 질문
0
151
2
boj 3020
0
127
1
강의 내용 중 백트래킹 존재 여부
0
156
1
제가 공부하는 방법이 괜찮은지 궁금합니다
1
261
2
DP 11053관련 질문있습니다.
0
120
1
17609 투포인터 문제를 재귀로 풀 경우가 궁금합니다!
0
138
3
3020번 풀이 코드관련 질문있어요
0
171
2
재귀 관련 문제 관찰할 때 질문
0
197
1





