원하는 것은 뭐든지
99클럽 코테 스터디 21일차 TIL , 피보나치 수 본문
반응형
문제
풀이
입력으로 들어오는 n번째 피보나치 수를 출력하면 됨.
제출 1 - 오답
class Solution {
public int solution(int n) {
int answer = 0;
answer = fibo(n) % 1234567;
return answer;
}
public int fibo(int n){
if(n == 0) return 0;
if(n == 1) return 1;
return fibo(n-1) + fibo(n-2);
}
}
시간초과가 날 것이라고 알고 있었지만 재귀를 사용해서 기본적인 피보나치수열을 출력하도록 했다.
제출 2 - 오답
class Solution {
public int solution(int n) {
int[] memo = new int[100_000];
int answer = 0;
memo[0] = 0;
memo[1] = 1;
for(int i=2;i<100_000;i++){
memo[i] = (memo[i-1] + memo[i-2])%1234567;
}
answer = memo[n];
return answer;
}
}
메모제이션을 사용해서 풀이했다.
테스트케이스 13번만 실패했는데 런타임 에러였다.
100,000가 들어올 수도 있기 때문에 인덱스를 늘려주어야 한다.
제출 3 - 정답
class Solution {
public int solution(int n) {
int[] memo = new int[100_001];
int answer = 0;
memo[0] = 0;
memo[1] = 1;
for(int i=2;i<100_001;i++){
memo[i] = (memo[i-1] + memo[i-2])%1234567;
}
answer = memo[n];
return answer;
}
}
TIL
- 동적계획법
- 탑다운, 바텀 업
반응형
'개발 > 문제풀이' 카테고리의 다른 글
99클럽 코테 스터디 23일차 TIL , 마법의 엘리베이터 (0) | 2024.08.13 |
---|---|
99클럽 코테 스터디 22일차 TIL , 멀리 뛰기 (0) | 2024.08.12 |
99클럽 코테 스터디 20일차 TIL , 큰 수 만들기 (0) | 2024.08.10 |
99클럽 코테 스터디 19일차 TIL , 구명보트 (0) | 2024.08.09 |
99클럽 코테 스터디 18일차 TIL , 단지번호붙이기 (0) | 2024.08.08 |
Comments