본문 바로가기
Computer Basics/Programmers Solutions

[프로그래머스 lv2] 피보나치 수 풀이

by 경아ㅏ 2022. 8. 17.

 프로그래머스의 모든 문제와 해설 보기[클릭]

 

해설

첫째항 f[0] = 0, 둘째항 f[1] = 1을 초기화 하고, 나머지항들은 f[i] = (f[i-2]+f[i-1])%1234567 로 구한다.

n번쨰 항을 물어보고 있으므로 f[n]을 리턴하면 정답이다.

 

 

코드

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <tuple>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <cctype>
#include <iostream>

using namespace std;
using ii = pair<int, int>;
using iii = tuple<int, int, int>;

#define X first
#define Y second

int solution(int n) {
    
    int f[100005];
    
    f[0] = 0; f[1] = 1;
    for (int i=2; i<=n; i++)
        f[i] = (f[i-2]+f[i-1])%1234567;
    
    return f[n];
}

 

 

댓글