2024-04-17 15:12:24

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 연습장
{
    internal class _1149_boj
    {
        public void boj_1149()
        {
            int N = int.Parse(Console.ReadLine());
 
            int[,] dp = new int[N + 13];
            dp[00= 0;
            dp[01= 0;
            dp[02= 0;
 
            for (int i = 1; i <= N; i++)
            {
                int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                dp[i, 0= input[0+ Math.Min(dp[i - 11], dp[i - 12]);
                dp[i, 1= input[1+ Math.Min(dp[i - 10], dp[i - 12]);
                dp[i, 2= input[2+ Math.Min(dp[i - 10], dp[i - 11]);
 
            }
 
            int res = int.MaxValue;
            for (int i = 0; i < dp.GetLength(1); i++)
            {
                res = Math.Min(dp[N, i], res);
            }
            Console.WriteLine(res);
        }
    }
}
 
cs

 

i번째 집의 색은 i - 1번째, i + 1번째 집의 색과 다르기만 하면 색을 어떻게 사용하던지 상관이 없다.

이걸 이용해서 코드를 짜주었다.