백준 1149번 "RGB" 거리 (Dynamic Programming)

2026. 2. 12. 17:54·Coding Test/Dynamic Programming

문제 설명
문제 설명

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

문제 접근 순서.

 

1. 문제를 보면 경우의 수가 여러가지인 경우인 문제이다. 

    처음에는 각 집마다 색을 선택하는 경우가 2가지씩 생기므로 계속해서 완전 탐색한다면 ( 2^n) 복잡도

    경우의 수가 기하급수적으로 증가하게 되므로 이 문제에 옳치 않은 풀이 방법이라 생각했습니다.

 

2.  따라서 이전의 결과값을 저장하고 재활용하는 Dynamic Programming을 사용하여 

     각 집을 특정 색으로 칠했을 때의 최소 비용을 누적해서 구하는 방식으로 해결하기로 생각했습니다.

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

코드 결과

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std; 

int main()
{
	int i_inputCount = 0;
	cin >> i_inputCount; 

	
	int dp[1001][3] = { 0, };

	for(int i=1; i<=i_inputCount; i++)
	{
		cin >> dp[i][0] >> dp[i][1] >> dp[i][2];
		dp[i][0] += min(dp[i - 1][1] , dp[i - 1][2]);
		dp[i][1] += min(dp[i - 1][0] , dp[i - 1][2]);
		dp[i][2] += min(dp[i - 1][0] , dp[i - 1][1]);
	}

	
	int result = min(dp[i_inputCount][0], min(dp[i_inputCount][1], dp[i_inputCount][2]));

	cout << result;

	

	return 0;
}

'Coding Test > Dynamic Programming' 카테고리의 다른 글

프로그래머스 [Level3] 정수 삼각형 [Dynamic Programming]  (0) 2026.02.20
백준 11399번 "피보나치 함수" [Dynamic Programming 점화식]  (0) 2026.01.29
백준 9095번 " 1, 2 ,3" 더하기 [Dynamic Programming]  (0) 2026.01.28
프로그래머스 [level3] N으로 표현 (Dynamic Programming)  (0) 2025.11.12
백준 1431번 "1로 만들기" [Dynamic Programming 알고리즘]  (1) 2025.11.11
'Coding Test/Dynamic Programming' 카테고리의 다른 글
  • 프로그래머스 [Level3] 정수 삼각형 [Dynamic Programming]
  • 백준 11399번 "피보나치 함수" [Dynamic Programming 점화식]
  • 백준 9095번 " 1, 2 ,3" 더하기 [Dynamic Programming]
  • 프로그래머스 [level3] N으로 표현 (Dynamic Programming)
seonhwan2547
seonhwan2547
seonhwan2547 님의 블로그 입니다.
  • seonhwan2547
    seonhwan2547 님의 블로그
    seonhwan2547
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Unreal Project (17)
        • Khazan 모작 프로젝트 (2)
        • Unreal Study (10)
        • Blueprint (5)
      • Directx11 Project (11)
        • Thymesia 팀 프로젝트 (8)
        • Kaku Ancient Seal 개인 프로젝트 (2)
        • Thymesia Animation Tool 개발 (0)
      • Algorithm (6)
        • Binary_Search (2)
        • Greedy (1)
        • Dynamic Programming (1)
        • A-star (1)
      • Coding Test (31)
        • Brutal Force (2)
        • Sort (5)
        • DFS (3)
        • Binary_Search (4)
        • BFS (6)
        • Hash (2)
        • Dynamic Programming (6)
        • Greedy (1)
        • BackTracking (1)
        • Binary_Tree (1)
      • STL Container (1)
        • unorded_set (0)
        • priority_queue (1)
      • C++ 공부 및 몰랐던점 (8)
        • Smart pointer (1)
      • Visual Studio 설정관련 공부 (1)
      • Console Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 소개
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Unreal
    GameProgramming
    CodingTest
    hash
    blueprint
    Unreal Engine
    Game Programming
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
seonhwan2547
백준 1149번 "RGB" 거리 (Dynamic Programming)