๐Ÿ‘’ ๋ญ? JS๋กœ PS๋ฅผ ํ•œ๋‹ค๊ณ ?

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

์„ ๋‹ฌ 2023. 7. 6. 01:52
๋ฐ˜์‘ํ˜•

https://school.programmers.co.kr/learn/courses/30/lessons/12913

 

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

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

programmers.co.kr

 

๋ฐฑ์ค€ 9465๋ฒˆ ์Šคํ‹ฐ์ปค ๋ฌธ์ œ์™€ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•˜๋‹ค

๋‘ ์ค„ ์งœ๋ฆฌ ์Šคํ‹ฐ์ปค๊ฐ€ ๋„ค ์ค„ ์งœ๋ฆฌ ๋•…์œผ๋กœ ๋ฐ”๋€Œ์—ˆ์„ ๋ฟ..

 

[๐Ÿ’  Class๋ฅผ ๋ฐ€์–ด๋ณด์ž/Class 4] - [BOJ][C++] ๋ฐฑ์ค€ 9465๋ฒˆ: ์Šคํ‹ฐ์ปค

 

 

๋™์ ๊ณ„ํš๋ฒ•(Dynamic Programming, DP)๋ฅผ ์ด์šฉํ•œ๋‹ค.

dp[i][j] ๋Š” iํ–‰ j์—ด๊นŒ์ง€ ๋›ฐ์—ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค

 

๋ฐ”๋กœ ์ง์ „ ์ค„์—์„œ ์ž์‹ ๊ณผ ๊ฐ™์€ ์—ด์„ ์ œ์™ธํ•œ ๋ชจ๋“ (3๊ฐœ) ์—ด์˜ ์ ์ˆ˜๋ฅผ tmp ๋ฐฐ์—ด์— ๋„ฃ์–ด์„œ

๊ทธ tmp ๋ฐฐ์—ด์—์„œ ์ตœ๋Œ“๊ฐ’์„ ๊บผ๋‚ด์„œ ํ˜„์žฌ ์œ„์น˜์™€ ๋”ํ•˜๋ฉด ํ˜„์žฌ ์œ„์น˜๊นŒ์ง€ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์ ์ˆ˜

 

function solution(land) {
    const row = land.length;
    let dp = land;
    for(let i=1; i<row; i++) {
        for(let j=0; j<4; j++) {
            let tmp = [];
            for(let k=0; k<4; k++) {
                if(k===j) {
                    continue;
                }
                tmp.push(land[i-1][k]);
            }
            dp[i][j] += Math.max(...tmp)
        }
    }
    return Math.max(...dp[row-1])
}
๋ฐ˜์‘ํ˜•