inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

런타임 에러: 메모리

해결된 질문

122

타이거

작성한 질문수 5

0

안녕하세요 강사님,

 

재귀함수 이해하기[문제풀이]: 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)

python 코딩-테스트 알고리즘

답변 1

0

알리 Ally

안녕하세요. 타이거님!

 

공유주신 코드는 잘 짜셨으나, 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