yeahzzz
archive
yeahzzz
전체 방문자
오늘
어제
  • 분류 전체보기 (164)
    • Language (41)
      • Python (12)
      • JAVA (21)
      • C&C++ (8)
    • Algorithms (25)
      • programmers (9)
      • study log (16)
    • Problems & Solutions (14)
    • Major (29)
      • Data Structure & Algorithm (14)
      • Linux(Ubuntu) (9)
      • Security (2)
      • Linear Algebra (4)
    • FE (44)
      • Web(HTML5, CSS, JS) (5)
      • React & TS (26)
      • 코딩일기 (10)
    • BE (1)
      • Node.js (1)
    • Pytorch (8)
    • Server (2)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
yeahzzz

archive

Problems & Solutions

9095 1, 2, 3 더하기

2022. 7. 30. 20:44

 

package baekjoon;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class b9095 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int T = Integer.parseInt(br.readLine());
		for(int tc = 0; tc < T; tc++) {
			int n = Integer.parseInt(br.readLine());
			int dp[] = new int [11];
			dp[1] = 1;
			dp[2] = 2;
			dp[3] = 4;
			for(int i = 4; i <= n; i++) {
				dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
			}
			bw.write(dp[n]+"\n");
		}
		bw.flush();
		
	}

}

다이나믹 프로그래밍 <dp>

 

dp[n] = n을 1,2,3의 합으로 나타낼 수 있는 경우의 수

dp[1] = 1, dp[2] = 2 (1+1 / 2) , dp[3] = 4 (1+1+1 / 1+2 / 2+1 / 3 )

dp[4] = 7 ( 1+1+1+1 / 1+1+2 / 1+2+1 / 1+3 / 2+2 / 2+1+1 / 3+1 ) 

dp[4] = dp[3] + dp[2] + dp[1] ; 점화식

 

n = 1,2,4일 때의 경우의 수 fix  

 

 

'Problems & Solutions' 카테고리의 다른 글

19941 햄버거 분배  (0) 2022.08.05
7795 먹을 것인가 먹힐 것인가  (0) 2022.07.30
11441 합 구하기  (0) 2022.07.26
1058 친구  (0) 2022.07.25
1244 스위치 켜고 끄기  (0) 2022.07.25
    'Problems & Solutions' 카테고리의 다른 글
    • 19941 햄버거 분배
    • 7795 먹을 것인가 먹힐 것인가
    • 11441 합 구하기
    • 1058 친구
    yeahzzz
    yeahzzz

    티스토리툴바