●문제

●입출력

문제해석
n숫자값만큼 1칸 or 2칸 이동하여 총 n 숫자칸 만큼 이동할수있는 경우의수를 구하고 1234567를 나눈값을 리턴
푼방법
결국 n - 1 과 n -2 수치를 더한 값을 계산하게된다 이는 곧
점화식이 피보나치 수열의 점화식과 같다는걸 의미한다
#include <string>
#include <vector>
using namespace std;
vector<long long>mmn;
long long solution(int n)
{
const int insertNum = 1234567;
if (mmn.size() <= n)
mmn = vector<long long>(n + 1, -1);
if (n <= 1)
return 1;
if (mmn[n] != -1)
return mmn[n];
mmn[n] = (solution(n - 1) + solution(n - 2)) % insertNum;
return mmn[n];
}
레벨 : 2
점수 : 4
'C++ 프로그래머스 > 기타 문제' 카테고리의 다른 글
| 프로그래머스(C++) - 영어 끝말잇기 (0) | 2025.10.12 |
|---|---|
| 프로그래머스(C++) - 귤 고르기 (0) | 2025.10.10 |
| 프로그래머스(C++) - 다음 큰 숫자 (0) | 2025.08.02 |
| 프로그래머스(C++) - 숫자의 표현 (0) | 2025.08.01 |
| 프로그래머스(C++) - JadenCase 문자열 만들기 (0) | 2025.08.01 |
