[백준] 9095 1, 2, 3 더하기(Silver.3) - DP(동적 계획법)

2024. 8. 19. 16:37·코딩 테스트/알고리즘

문제

문제 해설

1~5일 때 방법의 수를 모두 그려보았다.


모든 경우의 수를 구해보니 n이 3보다 클 때, n의 방법의 수는 n-1, n-2, n-3의 방법의 수를 모두 더한 값임을 알 수 있었다. 예를 들어, n이 5일 때는 4일 때 방법의 수 + 3일 때 방법의 수 + 2일 때 방법의 수를 더한 값이 된다. 즉, dp[n] = dp[n-1] + dp[n-2] + dp[n-3]이라는 공식을 도출할 수 있다. 따라서 상향식(Bottom-up) 접근법을 통해 이를 구현해보았다.

package DP;

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

public class _9095_1_2_3_더하기 {
    public static void main(String[] arge) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


        int[] memo = new int[11];
        memo[1] = 1;
        memo[2] = 2;
        memo[3] = 4;
        for (int i = 4; i <= 10; i++) {
            memo[i] = memo[i-3] + memo[i-2] + memo[i-1];
        }

        int n = Integer.parseInt(br.readLine());
        for (int i = 0; i < n; i++) {
            System.out.println(memo[Integer.parseInt(br.readLine())]);
        }
    }
}

'코딩 테스트 > 알고리즘' 카테고리의 다른 글

[프로그래머스] 43105 정수 삼각형(Lv.3) - DP(동적 계획법)  (0) 2024.08.23
[프로그래머스] 42898 등굣길(Lv.3) - DP(동적 계획법)  (0) 2024.08.23
[백준] 1463 1로 만들기(Silver.3) - DP(동적 계획법)  (0) 2024.08.18
[백준] 2748 피보나치 수 2(Bronze.1) - DP(동적 계획법)  (0) 2024.08.18
[프로그래머스] 43163 단어 변환(Lv.3) - DFS  (0) 2024.08.15
'코딩 테스트/알고리즘' 카테고리의 다른 글
  • [프로그래머스] 43105 정수 삼각형(Lv.3) - DP(동적 계획법)
  • [프로그래머스] 42898 등굣길(Lv.3) - DP(동적 계획법)
  • [백준] 1463 1로 만들기(Silver.3) - DP(동적 계획법)
  • [백준] 2748 피보나치 수 2(Bronze.1) - DP(동적 계획법)
토자맨
토자맨
  • 토자맨
    개발하는 토자맨
    토자맨
  • 전체
    오늘
    어제
    • 개발 공부
      • 코딩 테스트
        • 코드업 기초 100제
        • 백준
        • 99클럽
        • 자료구조
        • 알고리즘
      • Programming Language
        • 자바(JAVA)
      • Back-end
        • Spring
      • Front-end
        • html
        • css
      • DevOps
        • AWS
        • CI CD
        • Docker
        • 홈서버
        • Git
      • Computer Science
        • 자료구조
        • 알고리즘
        • 운영체제
        • OS,Network,DB,DesignPattern
      • 프로젝트
        • 웨이트 쇼핑몰
      • 공부 로드맵
        • 2학년 겨울방학
        • 3학년 2학기
        • 3학년 겨울방학
      • 일상
        • 기타 정보
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준 #dfs
    프로그래머스 #dp
    이진탐색 #이분탐색 #알고리즘
    피보나치 수 #백준 #dp
    nvidia-docker #docker cuda #docker gpu #엔비디아 도커
    nvidia container toolkit #
    백준 #dfs #11725번
    티스토리챌린지
    bfs #백준
    dfs #알고리즘
    bfs #프로그래머스
    백준 #dfs #알고리즘
    이진탐색 #이분탐색 #백준
    오블완
    백준 #아기상어2 #bfs
    백준 #bfs
    dfs #백준
    프로그래머스 #dfs
    싱글톤 패턴 #싱글톤 컨테이너 #싱글톤 레지스트리 #싱글톤 객체 상태 #무상태 #stateless #유지상태 #staleful
    git filter-branch #commit 수정 #commit
    99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #til
    dp #백준 #동적계획법
    bfs #최단거리탐색 #프로그래머스
    ec2 멈춤 #ec2 터짐 #ec2 ssh 연결 끊김 #ec2 끊김
    스프링핵심원리 #김영한 #의존관계자동주입 #의존관계 자동 주입
    solid #객체지향설계원칙
    백준 #이진탐색 #이분탐색
    백준 #dp #동적계획법
    git filter-repo
    스프링 #spring #스프링 컨테이너 #스프링 컨텍스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
토자맨
[백준] 9095 1, 2, 3 더하기(Silver.3) - DP(동적 계획법)
상단으로

티스토리툴바