๋ฐฑ์ค€[nodejs] > 9465๋ฒˆ ์Šคํ‹ฐ์ปค

2024. 11. 13. 23:11ยท๐Ÿ”’Algorithm

 

๋ฌธ์ œ๋งํฌ

https://www.acmicpc.net/problem/9465

 

ํ’€์ด

์ฒ˜์Œ์—๋Š” dp(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•˜์—ฌ ๊ณ ์ „ํ–ˆ๋‹ค.

์—ฌ๊ธฐ์„œ map์€ ์Šคํ‹ฐ์ปค๋“ค์˜ ๋ฐฐ์—ด์„ ์˜๋ฏธํ•˜๊ณ 

 

dp[0][i] ๋Š” ์ฒซ๋ฒˆ์งธ์ค„์˜ i+1๋ฒˆ์งธ ์Šคํ‹ฐ์ปค ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ 

dp[1][i] ๋Š” ๋‘๋ฒˆ์งธ์ค„์˜ i+1๋ฒˆ์งธ ์Šคํ‹ฐ์ปค๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ 

dp[2][i] ๋Š” i+1๋ฒˆ์งธ์˜ ์Šคํ‹ฐ์ปค ์–ด๋А๊ฒƒ๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์  ์ด๋‹ค. 

 

dp[0][0] dp[1][0] dp[2][0] ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์—ด๊นŒ์ง€ ์ง„ํ–‰ํ•˜๋ฉด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ ์ˆ˜๋“ค์„(dp[0][n-1], dp[1][n-1], dp[2][n-1]) ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ  dp[0][n-1], dp[1][n-1], dp[2][n-1] ๊ฐ’์ค‘ ์ตœ๋Œ“ ๊ฐ’์ด ๋‹ต์ด ๋œ๋‹ค.

 

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

let [caseCnt, ...arr] = input;

for (let i = 0; i < arr.length; i += 3) {
    let n = Number(arr[i]);

    let map = [];

    map.push(arr[i + 1].split(" ").map((num) => Number(num)));
    map.push(arr[i + 2].split(" ").map((num) => Number(num)));

    let dp = Array.from({ length: 3 }, () => {
        return Array(n).fill(0);
    });

    dp[0][0] = map[0][0];
    dp[1][0] = map[1][0];
    dp[2][0] = 0;

    for (let j = 1; j < n; ++j) {
        dp[0][j] = map[0][j] + Math.max(dp[1][j - 1], dp[2][j - 1]);
        dp[1][j] = map[1][j] + Math.max(dp[0][j - 1], dp[2][j - 1]);
        dp[2][j] = Math.max(dp[0][j - 1], dp[1][j - 1]);
    }

    let max = Math.max(dp[0][n - 1], dp[1][n - 1], dp[2][n - 1]);
    console.log(max);
}

'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€ [node.js] > 1916๋ฒˆ ์ตœ์†Œ ๋น„์šฉ ๊ตฌํ•˜๊ธฐ  (1) 2024.11.16
๋ฐฑ์ค€[node.js] > 11660๋ฒˆ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ5  (0) 2024.11.14
๋ฐฑ์ค€[node.js] > 1181๋ฒˆ ๋‹จ์–ด ์ •๋ ฌ  (0) 2024.11.12
๋ฐฑ์ค€[node.js] > 1149 RGB๊ฑฐ๋ฆฌ  (0) 2024.11.11
๋ฐฑ์ค€[node.js] > 1141๋ฒˆ ์ ‘๋‘์‚ฌ  (0) 2024.11.10
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€ [node.js] > 1916๋ฒˆ ์ตœ์†Œ ๋น„์šฉ ๊ตฌํ•˜๊ธฐ
  • ๋ฐฑ์ค€[node.js] > 11660๋ฒˆ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ5
  • ๋ฐฑ์ค€[node.js] > 1181๋ฒˆ ๋‹จ์–ด ์ •๋ ฌ
  • ๋ฐฑ์ค€[node.js] > 1149 RGB๊ฑฐ๋ฆฌ
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ
  • ๋งํฌ

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ๋ฐฑ์ค€
    node.js
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    react
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์‹ค๋ฒ„1
    ๊ทธ๋ฆฌ๋””
    Algorithm
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    Lv2
    DFS
    ์ฝ”ํ…Œ
    FE
    ์‹ค๋ฒ„2
    Easy
    dp
    BFS
    ์ž์Šค
    nodejs
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    ๊ณจ๋“œ5
    leetcode
    js
    ์˜ค๋ธ”์™„
    ๊ตฌํ˜„
    ํ”„๋ก ํŠธ์—”๋“œ
    javascript
    ์‹ค๋ฒ„4
    ์‹ค๋ฒ„3
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
๋ฐฑ์ค€[nodejs] > 9465๋ฒˆ ์Šคํ‹ฐ์ปค
์ƒ๋‹จ์œผ๋กœ

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