[백준][ts/js] 9095: 1 2 3 더하기

Pyotato·2023년 5월 10일
0

[백준][js/ts]

목록 보기
2/21
post-thumbnail

로직

logic

  • 1일 경우 1가지
  • 2일 경우 1+1 , 2로 두가지
  • 3일 경우 1+1+1, 2+1, 1+2, 3으로 4가지
  • 4일 경우 4+2+1 즉 n-1 n-2 n-3으로 재귀

풀이

// https://www.acmicpc.net/problem/9095
const T: string | null = prompt("Enter number of test cases", "0");
const N: number | null = T ? parseInt(T) : null;
const test_cases: Array<number | null> = new Array(N);
if (N) {
  for (let i = 0; i < N; i++) {
    const t: string | null = prompt(`${i + 1}th case`);
    t ? (test_cases[i] = parseInt(t)) : null;
  }
}

const add123 = (n: number | null): number => {
  if (n) {
    return n === 1
      ? 1
      : n === 2
      ? 2
      : n === 3
      ? 4
      : add123(n - 1) + add123(n - 2) + add123(n - 3);
  } else {
    return -1;
  }
};

if (test_cases) {
  test_cases.map((v) => console.log(add123(v)));
}
//test
// 3
// 4
// 7
// 10

//output
// 7
// 44
// 274
profile
https://pyotato-dev.tistory.com/ 로 이사중 🚚💨🚛💨🚚💨

0개의 댓글