Jieunny์˜ ๋ธ”๋กœ๊ทธ

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋•…๋”ฐ๋จน๊ธฐ ๋ณธ๋ฌธ

Study/Coding Test

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋•…๋”ฐ๋จน๊ธฐ

Jieunny 2023. 7. 19. 15:52

๐Ÿ“Œ  ๋ฌธ์ œ

๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์˜ ๋•…(land)์€ ์ด Nํ–‰ 4์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋ชจ๋“  ์นธ์—๋Š” ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. 1ํ–‰๋ถ€ํ„ฐ ๋•…์„ ๋ฐŸ์œผ๋ฉฐ ํ•œ ํ–‰์”ฉ ๋‚ด๋ ค์˜ฌ ๋•Œ, ๊ฐ ํ–‰์˜ 4์นธ ์ค‘ ํ•œ ์นธ๋งŒ ๋ฐŸ์œผ๋ฉด์„œ ๋‚ด๋ ค์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์—๋Š” ํ•œ ํ–‰์”ฉ ๋‚ด๋ ค์˜ฌ ๋•Œ, ๊ฐ™์€ ์—ด์„ ์—ฐ์†ํ•ด์„œ ๋ฐŸ์„ ์ˆ˜ ์—†๋Š” ํŠน์ˆ˜ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด,

| 1 | 2 | 3 | 5 |

| 5 | 6 | 7 | 8 |

| 4 | 3 | 2 | 1 |

๋กœ ๋•…์ด ์ฃผ์–ด์กŒ๋‹ค๋ฉด, 1ํ–‰์—์„œ ๋„ค๋ฒˆ์งธ ์นธ (5)๋ฅผ ๋ฐŸ์•˜์œผ๋ฉด, 2ํ–‰์˜ ๋„ค๋ฒˆ์งธ ์นธ (8)์€ ๋ฐŸ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ํ–‰๊นŒ์ง€ ๋ชจ๋‘ ๋‚ด๋ ค์™”์„ ๋•Œ, ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์„ returnํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์œ„ ์˜ˆ์˜ ๊ฒฝ์šฐ, 1ํ–‰์˜ ๋„ค๋ฒˆ์งธ ์นธ (5), 2ํ–‰์˜ ์„ธ๋ฒˆ์งธ ์นธ (7), 3ํ–‰์˜ ์ฒซ๋ฒˆ์งธ ์นธ (4) ๋•…์„ ๋ฐŸ์•„ 16์ ์ด ์ตœ๊ณ ์ ์ด ๋˜๋ฏ€๋กœ 16์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก  ์•„์ด๋””์–ด

์ฒซ๋ฒˆ์งธ์—์„œ ์ œ์ผ ํฐ ์ ์ˆ˜๋ฅผ ๋”ํ•˜๊ณ ,

๋‘๋ฒˆ์งธ๋ถ€ํ„ฐ ์ œ์ผ ํฐ ์ ์ˆ˜๋ฅผ ๋จผ์ € ๋”ํ•˜๋Š”๋ฐ, ์ธ๋ฑ์Šค๊ฐ€ ๊ฐ™์œผ๋ฉด ๋‘๋ฒˆ์งธ๋กœ ํฐ ์ ์ˆ˜๋ฅผ ๋”ํ•œ๋‹ค..

์ด๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ ์–˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋กœ ์งœ์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์ฒ˜์Œ์— ์ ์ˆ˜๋ž‘ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ์ฒด๋กœ ์ €์žฅํ•˜๊ณ ..์–˜๋ฅผ sort๋ฅผ ์จ์„œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•ด์•ผํ•˜๋‚˜ ํ–ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ํ’€๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋„ˆ๋ฌด ํด ๊ฒƒ ๊ฐ™์•˜๋‹คใ… 

๊ฒ€์ƒ‰ํ•ด๋ดค๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‚˜ ์‹ถ์„ ์ •๋„์˜ ํ’€์ด๋ฒ• ๋ฐœ๊ฒฌ..

์ด๋Ÿฐ ์ƒ๊ฐ์€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฑฐ์ง€๐Ÿฅน

0-1 ๋ ˆ๋ฒจ ๋ฌธ์ œ๋“ค์€ ๋ณด๋ฉด ํ’€์ด๋ฒ•์ด ์ƒ๊ฐ๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋Š”๋ฐ ๋ ˆ๋ฒจ 2๋ถ€ํ„ฐ๋Š” ๋จธ๋ฆฌ๊ฐ€ ๋ฉˆ์ถ˜๊ฑฐ๊ฐ™๋‹ค๐Ÿคฏ

์นด์นด์˜ค ๋ฌธ์ œ๋Š” ์†๋„ ๋ชป๋Œใ…‹

โœ๏ธ  ํ’€์ด

function solution(land) {
 for(let i=1; i<land.length; i++){
  for(let j=0; j<4; j++){
    land[i][j] += Math.max(...land[i-1].filter((x, y) => j != y))
  }
 }
  return Math.max(...land.pop());
}

๐Ÿ“š ์ฐธ๊ณ  : https://jsikim1.tistory.com/259