시간&메모리 제한
문제
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Back_9461 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testCase = Integer.parseInt(br.readLine());
long [] arr = new long[101];
arr[0] = 0L;
arr[1] = 1L;
arr[2] = 1L;
arr[3] = 1L;
for (int i = 4; i < 101; i++) {
arr[i] = arr[i-3]+arr[i-2];
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < testCase; i++) {
int tmp = Integer.parseInt(br.readLine());
sb.append(arr[tmp]+"\n");
}
System.out.println(sb);
}
}
※ 내 생각
이 문제는 DP를 활용하는 문제입니다.
먼저 첫번재, 두번째, 세번째는 모두 1의 길이의 삼각형이므로 미리 지정을 해줍니다.
4번째 부터 규칙을 가지고 있습니다.
각각의 값을 3개 이전 값 + 2개 이전 값을 더한 값이 됩니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (자바) / 정렬 (0) | 2021.10.03 |
---|---|
백준_2824 최대공약수(자바) / 구현 & 수학 (0) | 2021.10.02 |
백준_5635 생일(자바) / 정렬, 구현 (0) | 2021.09.28 |
백준_3107 IPv6 (자바) / 문자열 (0) | 2021.09.26 |
백준_1292 쉽게 푸는 문제(자바) / 구현 (0) | 2021.09.24 |