class Solution {
public int tribonacci(int n) {
if (n == 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
int t0 = 0, t1 = 1, t2 = 1;
int tn = 0;
for (int i = 3; i <= n; i++) {
tn = t0 + t1 + t2;
t0 = t1;
t1 = t2;
t2 = tn;
}
return tn;
}
}
문제를 해결하기 위해, 동적 계획법(Dynamic Programming)을 사용해 이전 결과를 활용하여 다음 값을 계산하는 반복문 방법을 선택했다.
Tribonacci 수열의 시작점인 T0, T1, T2 값이 이미 정의되어 있으므로, 이들에 대한 기본 조건을 설정한다. 이후 기본 값을 제외한 나머지 Tribonacci 값은 이전 세 항의 합으로 이루어지므로, 반복문을 통해 이를 계산한다.