[๋ฐฑ์ค€/C++] 17404๋ฒˆ RGB๊ฑฐ๋ฆฌ 2

2022. 11. 2. 13:16ยท๋ฐฑ์ค€/C++
๋ชฉ์ฐจ
  1. ๐Ÿค”๋ฌธ์ œ ์ดํ•ด
  2. ๐Ÿ’ก์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด
  3. ๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ

๋ฐฑ์ค€

 


๐Ÿค”๋ฌธ์ œ ์ดํ•ด

1149๋ฒˆ RGB๊ฑฐ๋ฆฌ ๋ฌธ์ œ์˜ ๋ณ€ํ˜•์ด๋‹ค. 

์ด ๋ฌธ์ œ์—์„  ์ฒซ๋ฒˆ์งธ ์„ ํƒํ•œ ์ง‘์˜ ์ƒ‰๊ณผ ๋งˆ์ง€๋ง‰์— ์„ ํƒํ•œ ์ง‘์˜ ์ƒ‰์ด ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค.


๐Ÿ’ก์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด

์ฒ˜์Œ ์„ ํƒํ•œ ์ƒ‰์— ๋”ฐ๋ผ dp ๋ฐฐ์—ด์ด ๋‹ค๋ฅด๊ฒŒ ์„ค์ •๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ dp0, dp1, dp2 ๋ฐฐ์—ด์„ ๊ฐ๊ฐ ์„ ์–ธํ•ด์„œ ๊ตฌํ˜„ํ•˜์˜€์ง€๋งŒ ์™œ ๋•Œ๋ฌธ์ธ์ง€ 4%์—์„œ ์ž๊พธ ํ‹€๋ ธ๋‹ค๊ณ  ๋–ด๋‹ค ใ… ใ… 

๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ dp ๋ฐฐ์—ด์ด ๋‹ค๋ฅผ ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค!! ์„ค๋ช…์€ ํ’€์ด ์ฐธ์กฐ ใ„ฑใ„ฑ

 

 

๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ

์ฒซ๋ฒˆ์งธ์— ๊ณ ๋ฅผ ์ƒ‰์„ ํ•˜๋‚˜๋กœ ํ”ฝ์Šคํ•ด๋‘๊ณ  1149๋ฒˆ RGB๊ฑฐ๋ฆฌ์ฒ˜๋Ÿผ dp๋ฅผ ํ†ตํ•ด ๊ฐ€์žฅ ๋น„์šฉ์ด ์ ๊ฒŒ ๋“œ๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

dp[i][j] : i๋ฒˆ์งธ ์ง‘์„ ์น ํ•˜๋Š” j์ƒ‰ (j = 0 : red / 1 : green / 2 : blue)

dp[i][0]์€ dp[i-1][1]๊ณผ dp[i-1][2]์ค‘์—์„œ ๋” ์ž‘์€ ๊ฐ’๊ณผ i๋ฒˆ์งธ ์ง‘์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์„ ๋”ํ•œ ๊ฐ’์„ ๋„ฃ์–ด์ค€๋‹ค.

dp[i][1]์€ dp[i-1][0], dp[i-1][2]์ค‘์—์„œ

dp[i][2]์€ dp[i-1][0], dp[i-1][1]์ค‘์—์„œ ๊ณจ๋ผ ๋˜‘๊ฐ™์ด ๊ณ„์‚ฐํ•ด์ค€๋‹ค.

 

์ตœ์ข…์ ์œผ๋กœ ์ฒซ๋ฒˆ์งธ ์ง‘์˜ ์ƒ‰์„ ๊ณ ์ •ํ–ˆ์„ ๋•Œ ๋งˆ์ง€๋ง‰ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฒน์น˜์ง€ ์•Š๋Š”๋‹ค. 

์™œ๋ƒ? dp[1][0] = 10, dp[1][1] = MAX, dp[1][2] = MAX์ผ ๋•Œ dp[2][0]๋งŒ MAX๊ฐ€ ๋” ๋”ํ•ด์ง€๊ณ , dp[2][1]๊ณผ dp[2][2]๋Š” dp[1][0]๊ฐ’์ด ๋”ํ•ด์ง„๋‹ค. ๊ทธ๋Ÿฌ๊ณ ๋‚˜๋ฉด dp[3][j]์—๋Š” ๋ชจ๋‘ ์ฒซ๋ฒˆ์งธ ์ง‘์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์น ํ•œ ๊ฒฝ์šฐ์˜ ๋น„์šฉ๋งŒ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.

์–ด์ฐจํ”ผ dp์—๋Š” ์ตœ์ ์˜ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ dp๋ฐฐ์—ด๋งŒ์„ ๊ฐ€์ง€๊ณ  ์—ฐ์‚ฐํ•˜๊ณ  ์ตœ์ข…์ ์œผ๋กœ dp[n][j]๋“ค๋ผ๋ฆฌ ๋น„๊ตํ•ด์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•ด์ค€๋‹ค.


#include <iostream>
#include <algorithm>

using namespace std;

int n;
int house[1002][3];
int dp[1002][3];


int main() {
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios::sync_with_stdio(false);
    cin >> n;

    int x;
    for (int i = 1; i <= n; i++) {
        for (int j = 0; j < 3; j++) {
            cin >> x;
            house[i][j] = x;
        }
    }

    int ans = 1000001;

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            if (j == i)
                dp[1][j] = house[1][j];
            else
                dp[1][j] = 1000001;
        }
        for (int j = 2; j <= n; j++) {
            dp[j][0] = min(dp[j - 1][1], dp[j - 1][2]) + house[j][0];
            dp[j][1] = min(dp[j - 1][0], dp[j - 1][2]) + house[j][1];
            dp[j][2] = min(dp[j - 1][0], dp[j - 1][1]) + house[j][2];
        }
        for (int j = 0; j < 3; j++) {
            if (j == i) continue;
            ans = min(ans, dp[n][j]);
        }
    }
    cout << ans;
}

 

728x90

'๋ฐฑ์ค€ > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/C++] 17396๋ฒˆ ๋ฐฑ๋„์–ด  (0) 2022.11.11
[๋ฐฑ์ค€/C++] 20040๋ฒˆ ์‚ฌ์ดํด ๊ฒŒ์ž„  (0) 2022.11.03
[๋ฐฑ์ค€/C++] 4889๋ฒˆ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด  (0) 2022.10.27
[๋ฐฑ์ค€/C++] 21610๋ฒˆ ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ๋น„๋ฐ”๋ผ๊ธฐ  (0) 2022.10.06
[๋ฐฑ์ค€/C++] 24524๋ฒˆ ์•„๋ฆ„๋‹ค์šด ๋ฌธ์ž์—ด  (0) 2022.10.05
  1. ๐Ÿค”๋ฌธ์ œ ์ดํ•ด
  2. ๐Ÿ’ก์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด
  3. ๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ
'๋ฐฑ์ค€/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/C++] 17396๋ฒˆ ๋ฐฑ๋„์–ด
  • [๋ฐฑ์ค€/C++] 20040๋ฒˆ ์‚ฌ์ดํด ๊ฒŒ์ž„
  • [๋ฐฑ์ค€/C++] 4889๋ฒˆ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด
  • [๋ฐฑ์ค€/C++] 21610๋ฒˆ ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ๋น„๋ฐ”๋ผ๊ธฐ
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (107)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • ๊ณต๋ถ€ (21)
        • Spring (9)
        • Java (12)
        • Python (0)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
        • ๊ธฐํƒ€ (0)
      • ๋ฐฑ์ค€ (39)
        • C++ (39)
        • Java (0)
      • ๋„์„œ (39)
        • ์ž๋ฐ”์˜ ์‹  (32)
        • ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด (7)
      • ๊ธฐํƒ€ (4)
        • Blog (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋‹ค์ต์ŠคํŠธ๋ผ
    ์œ„์ƒ์ •๋ ฌ
    Java
    ์Šคํ”„๋ง ์ž…๋ฌธ
    boj
    ๋ฐฑ์ค€
    ์Šคํ„ฐ๋””
    GodOfJava
    ์ž๋ฐ”์˜ ์‹ 
    ๋ฌธ์ œํ’€์ด
    ์ž๋ฐ”
    DP
    ๊ฐ์ฒด์ง€ํ–ฅ
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ
    EC2
    C++
    1์ผ1๋ฐฑ์ค€
    aws
    Spring
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
yulee_to
[๋ฐฑ์ค€/C++] 17404๋ฒˆ RGB๊ฑฐ๋ฆฌ 2

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.