-
프로그래머스 Lv2 멀리 뛰기Computer Science/프로그래머스 2023. 10. 6. 10:45
n = 1 {1} n = 2 {2} {1, 1} n = 3 {2, 1} {2, 1} {1, 1, 1} n = 4 {2, 2} {2, 1, 1] {1, 2, 1} {1, 1, 2} {1, 1, 1, 1} 나는 이 문제를 점화식을 세워서 해결했다.
DP[n] = DP[n - 1] + DP[n -2]로 풀면 해결된다.
하지만,,, n = 0 일 때 1을 줘야하는 부분이 헷갈렸다. n = 2일 때를 생각하면 쉽게 풀리는 문제였다...
#include <string> #include <vector> using namespace std; int DP[2001] = {}; long long solution(int n) { long long answer; DP[0] = 1; DP[1] = 1; for(int i = 2; i <= n; ++i) { DP[i] = (DP[i - 2] + DP[i - 1]) % 1234567; } answer = DP[n]; return answer; }
'Computer Science > 프로그래머스' 카테고리의 다른 글
프로그래머스 Lv2 다음 큰 숫 (0) 2023.10.06 프로그래머스 Lv2 땅따먹기 (0) 2023.10.06 프로그래머스 Lv2 숫자 블록(소수) (0) 2023.10.05 프로그래머스 Lv2 숫자의 표현 (1) 2023.10.05 프로그래머스 Lv2 최솟값 만들기 (0) 2023.10.05