336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
백준알고리즘
https://www.acmicpc.net/problem/9095
기저 사례를 잘 정해야 한다.
dp[0]에 1의 값을 넣어주고
i의 값이 1, 2, 3을 뺐을 때 이전의 값을 더해 계산을 하게 된다.
for문안에 if문에 주의하여 보자.
import java.util.Scanner; public class Test { public static int[] memoArray; public static int count; public static void main(String[] args) { Scanner scan = new Scanner(System.in); count = Integer.parseInt(scan.nextLine().trim()); while(count-- > 0) { int calculateData = Integer.parseInt(scan.nextLine().trim()); memoArray = new int[calculateData + 1]; for(int i = 1; i < memoArray.length; i++) { memoArray[i] = 0; } memoArray[0] = 1; calculate(calculateData); } } public static void calculate(int count) { for(int i = 1; i < memoArray.length; i++) { if(i - 1 >= 0) { memoArray[i] += memoArray[i - 1]; } if(i - 2 >= 0) { memoArray[i] += memoArray[i - 2]; } if(i - 3 >= 0) { memoArray[i] += memoArray[i - 3]; } } System.out.println(memoArray[count]); } }