본문 바로가기
기타/알고리즘

LeetCode 1137 n번째 Tribonacci 수

by 개발짜 2024. 11. 13.

1137. n번째 Tribonacci 수

 

https://leetcode.com/problems/n-th-tribonacci-number/?envType=study-plan-v2&envId=leetcode-75

 

문제 

n번째 Tribonacci 수를 구하는 문제입니다.
Tribonacci 수열은 초기 값이 T0 = 0, T1 = 1, T2 = 1로 시작하며,
Tn = T(n-1) + T(n-2) + T(n-3)로 정의됩니다.

 

풀이

1. n 이 0 일때, 1, 2 일때 값은 이미 지정되어 있으므로 각각 0, 1로 반환한다.

2. T0, T1, T2, T3 의 초기값을 지정한다.

3. n 번째까지 순회하면서 T3 의 값을 더해준다.

4. 다음 순회에 사용하기 위해 T0, T1, T2 의 값을 교환한다.

5. 마지막 T3 값 반환

int tribonacci(int n) {
  if (n == 0) return 0;
  if (n <= 2) return 1;

  int T0 = 0;
  int T1 = 1;
  int T2 = 1;

  int T3 = T2 + T1 + T0;
  for (int i = 3; i <= n; i++) {
    T3 = T2 + T1 + T0;
    T0 = T1;
    T1 = T2;
    T2 = T3;
  }

  return T3;
}

 

 

댓글