Leetcode Java N-th Tribonacci Number

업데이트:

문제

Link

코드

class Solution {

  public int tribonacci(int n) {
    if (n < 2) {
      return n;
    } else {
      int result = 1;
      for (int i = 0, j = 1; n > 2; n--) {
        int temp = i + j + result;
        i = j;
        j = result;
        result = temp;
      }
      return result;
    }
  }

}

결과

Link

설명

  1. n번째 Tribonacci sequence 값을 반환하는 문제이다.
    • n번째 Tribonacci sequence는 Tn로 나타낸다.
    • $T0 = 0, T1 = 1, T2 = 1$이다.
    • $Tn + 3 = Tn + Tn + 1 + Tn + 2$를 만족한다.
  2. n이 2 미만인 경우, n을 그대로 주어진 문제의 결과로 반환한다.

  3. n이 2 이상인 경우, 아래를 수행한다.
    • result는 결과를 저장할 변수로, 1로 초기화한다.
    • i와 j는 각각 0과 1로 초기화하여 n의 값이 2보다 클 때까지 아래를 수행하고 n을 감소시킨다.
      • temp에 $i + j + result$를 임시로 넣어준다.
      • i에 j를, j에 result를, result에 temp를 넣어 값을 바꾸어준다.
  4. 반복이 완료되어 계산된 result를 주어진 문제의 결과로 반화한다.

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기