본문 바로가기

하루하나코딩

백준 1149 : RGB거리 c++

코드

#include <iostream>
#include <algorithm>

using namespace std;

int main(){
	
	int N;
	int home[1001][3];
	int dp[1001][3];
	
	cin >> N;
	
	for(int i = 0; i < N; i++){
		for(int j = 0; j < 3; j++){
			cin >> home[i][j];
		}
	}

	for(int i = 0; i < 3; i++){
		dp[0][i] = home[0][i];
	}
	
	for(int i = 1; i < N; i++){
		dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + home[i][0];
		dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + home[i][1];
		dp[i][2] = min(dp[i-1][1], dp[i-1][0]) + home[i][2];
	}
	
	cout << min(min(dp[N-1][0], dp[N-1][1]), dp[N-1][2]);
	
	
	return 0;
}

알게된점

쉬운 dp문제당

'하루하나코딩' 카테고리의 다른 글

프로그래머스 : 모음제거 c++  (0) 2023.04.15
백준 1167 : 트리의 지름 c++  (0) 2023.04.14
백준 1043 : 거짓말 c++  (0) 2023.04.13
백준 1927 : 최소 힙 c++  (0) 2023.04.12
백준 11279 : 최대 힙 c++  (0) 2023.04.12