Notice
Recent Posts
Recent Comments
Link
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Lennon FE

[๋ฐฑ์ค€ 1932๋ฒˆ] ์ •์ˆ˜ ์‚ผ๊ฐํ˜• - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs) ๋ณธ๋ฌธ

๐Ÿ”ฅ Algorithm/Baekjoon

[๋ฐฑ์ค€ 1932๋ฒˆ] ์ •์ˆ˜ ์‚ผ๊ฐํ˜• - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)

Lennon 2022. 3. 11. 21:02
728x90
๋ฐ˜์‘ํ˜•

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

 

1932๋ฒˆ: ์ •์ˆ˜ ์‚ผ๊ฐํ˜•

์ฒซ์งธ ์ค„์— ์‚ผ๊ฐํ˜•์˜ ํฌ๊ธฐ n(1 ≤ n ≤ 500)์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ n+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ ์ •์ˆ˜ ์‚ผ๊ฐํ˜•์ด ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net

const fs = require('fs');
let [n, ...input] = fs.readFileSync('dev/stdin').toString().trim().split('\n');
input = input.map((v) => v.split(' ').map(Number));

const dp = [input[0]];

for (let i = 1; i < input.length; i++) {
  let arr = [];
  for (let j = 0; j < input[i].length; j++) {
    let value;
    if (j === 0) {
      value = input[i][0] + dp[i - 1][0];
    } else if (j === input[i].length - 1) {
      value = input[i][j] + dp[i - 1][dp[i - 1].length - 1];
    } else {
      value = Math.max(input[i][j] + dp[i - 1][j - 1], input[i][j] + dp[i - 1][j]);
    }

    arr.push(value);
  }

  dp[i] = arr;
}

console.log(Math.max(...dp[dp.length - 1]));

dp๋ฌธ์ œ์ง€๋งŒ ํƒ€ ๋ฌธ์ œ์™€ ๋‹ค๋ฅด๊ฒŒ ํ•œ ์นธ์”ฉ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๊ธธ์ด๊ฐ€ 1๊ฐœ์”ฉ ์ ์  ์ฆ๊ฐ€ํ•œ๋‹ค!

์ด ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๋งจ ์™ผ์ชฝ์˜ ๊ฐ’์€ ๋ฌด์กฐ๊ฑด ์œ„์˜ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋งŒ ๋”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

๋งจ ์˜ค๋ฅธ์ชฝ ๊ฐ’์€ ์œ„์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋งŒ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ค‘๊ฐ„๊ฐ’๋“ค์€ ๋ณธ์ธ์˜ ์ธ๋ฑ์Šค๋ณด๋‹ค 1์ด ์ž‘๊ฑฐ๋‚˜, ๋ณธ์ธ์˜ ์ธ๋ฑ์Šค๋งŒ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.

ex) ๋”ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๋ฑ์Šค๋งŒ ์ž‘์„ฑํ•œ ๊ฒƒ

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์–‘ ๋ ๊ฐ’ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์ค‘๊ฐ„๊ฐ’๋“ค์€ ๋”ํ•œ ๊ฐ’ ์ค‘์˜ ์ตœ๋Œ“๊ฐ’๋งŒ ์ ์  ์ €์žฅํ•ด ๊ฐ€๋ฉด ๋œ๋‹ค.

 

๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•œ ์นธ์”ฉ ๋Š˜์–ด๊ฐˆ์ˆ˜๋ก ์ตœ๋Œ“๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด ๋๊นŒ์ง€ ์ฒ˜๋ฆฌํ•œ ํ›„ ๋งˆ์ง€๋ง‰ ๋ฐฐ์—ด์˜ ์ตœ๋Œ“๊ฐ’์„ return ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
Comments