Simple&Natural
프로그래머스 - 피보나치 본문
728x90
풀이과정)
일반적인 재귀를 이용하면 스택오버가 발생하므로 꼬리재귀 함수를 이용해야 한다.
사용언어 : Kotlin
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Solution {
tailrec fun fibNum(n: Int, a: Int, b: Int): Int {
if (n==1)
return b
else if (n==0)
return a
return if((a+b)/1234567>=1) fibNum(n-1, b, (a+b)%1234567) else fibNum(n-1, b, a+b)
}
fun solution(n: Int): Int {
return fibNum(n, 0, 1)
}
}
|
cs |
출처 : https://programmers.co.kr/learn/courses/30/lessons/12945
728x90
'코딩테스트 풀이 > 프로그래머스' 카테고리의 다른 글
Hash - 완주하지 못한 선수 (0) | 2022.04.23 |
---|---|
2021 dev-matching - 로또의 최고 순위와 최저 순위 (0) | 2021.08.13 |
프로그래머스 Winter/Summer Coding 종이접기 문제 (0) | 2020.05.29 |
프로그래머스 - 카펫 (0) | 2020.01.28 |
프로그래머스 - 완주하지 못한 선수 (0) | 2020.01.21 |