๐Ÿ’› JavaScript/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[JS] ์—ฐ์Šต๋ฌธ์ œ - ๋•…๋”ฐ๋จน๊ธฐ

Jayden1116 2022. 7. 9. 00:21
function solution(land) {
  let n = land.length; // ํ–‰ ๊ฐœ์ˆ˜

  for (let i = 1; i < n; i++) {
    land[i][0] += Math.max(...[land[i - 1][1], land[i - 1][2], land[i - 1][3]]);
    land[i][1] += Math.max(...[land[i - 1][0], land[i - 1][2], land[i - 1][3]]);
    land[i][2] += Math.max(...[land[i - 1][0], land[i - 1][1], land[i - 1][3]]);
    land[i][3] += Math.max(...[land[i - 1][0], land[i - 1][1], land[i - 1][2]]);
  }

  return Math.max(...land[n - 1]);
}

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

  1. ์ฒซ๋ฒˆ์งธ row๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ , 2๋ฒˆ์งธ row๋ถ€ํ„ฐ ๊ฐ๊ฐ์˜ column์˜ ์ž…์žฅ์—์„œ ์ƒ๊ฐํ•ด๋ด…๋‹ˆ๋‹ค.
  2. 2๋ฒˆ์งธ row์˜ ๊ฐ column์€ ์ด์ „ row(์ฒซ๋ฒˆ์งธ row)์˜ column๋“ค ์ค‘ ๋ณธ์ธ๊ณผ ๊ฐ™์€ column์ด ์•„๋‹Œ ๋‚˜๋จธ์ง€ 3๊ฐœ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๋ณธ์ธ๊ณผ ๋”ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  3. ๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ n - 1 ๋ฒˆ์งธ(๋งจ ๋ row)์— ์Œ“์ธ ๊ฐ’๋“ค ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ๊ณง answer๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

์ฒซ ํ–‰๋ถ€ํ„ฐ ๊ฐ๊ฐ์„ ์„ ํƒํ•ด๋‚˜๊ฐ„๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋‹ค์†Œ ํ—ท๊ฐˆ๋ฆฌ์ง€๋งŒ, ์„ ํƒ ๋‹นํ•˜๋Š” ํ–‰์˜ ๊ด€์ ์—์„œ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๊ธˆ๋ฐฉ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.
์•ฝ๊ฐ„ ๋Šฅ๋™ํƒœ์—์„œ ์ˆ˜๋™ํƒœ๋กœ ๋ฐ”๊พธ๋Š” ๋А๋‚Œ์œผ๋กœ ๊ด€์ ์„ ๋ฐ”๊ฟ”์„œ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :) !