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]);
}
- ์ฒซ๋ฒ์งธ row๋ฅผ ๊ฑด๋๋ฐ๊ณ , 2๋ฒ์งธ row๋ถํฐ ๊ฐ๊ฐ์ column์ ์ ์ฅ์์ ์๊ฐํด๋ด ๋๋ค.
- 2๋ฒ์งธ row์ ๊ฐ column์ ์ด์ row(์ฒซ๋ฒ์งธ row)์ column๋ค ์ค ๋ณธ์ธ๊ณผ ๊ฐ์ column์ด ์๋ ๋๋จธ์ง 3๊ฐ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ณธ์ธ๊ณผ ๋ํ๋ฉด ๋ฉ๋๋ค.
- ๊ทธ๋ ๊ฒ ํด์ n - 1 ๋ฒ์งธ(๋งจ ๋ row)์ ์์ธ ๊ฐ๋ค ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ด ๊ณง answer๊ฐ ๋ฉ๋๋ค.
์ฒซ ํ๋ถํฐ ๊ฐ๊ฐ์ ์ ํํด๋๊ฐ๋ค๊ณ ์๊ฐํ๋ฉด ๋ค์ ํท๊ฐ๋ฆฌ์ง๋ง, ์ ํ ๋นํ๋ ํ์ ๊ด์ ์์ ์๊ฐํด๋ณด๋ฉด ๊ธ๋ฐฉ ํ๋ฆฌ๋ ๋ฌธ์ ์์ต๋๋ค.
์ฝ๊ฐ ๋ฅ๋ํ์์ ์๋ํ๋ก ๋ฐ๊พธ๋ ๋๋์ผ๋ก ๊ด์ ์ ๋ฐ๊ฟ์ ์๊ฐํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค :) !
'๐ JavaScript > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์ฐ์ต๋ฌธ์ - 3 x n ํ์ผ๋ง (0) | 2022.07.10 |
---|---|
[JS] ์ฐ์ต๋ฌธ์ - ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ (0) | 2022.07.10 |
[JS] ์ฐ์ต๋ฌธ์ - ๋ฉ๋ฆฌ ๋ฐ๊ธฐ (0) | 2022.07.07 |
[JS] ์ฐ์ต๋ฌธ์ - ๋ค์ ํฐ ์ซ์ (0) | 2022.07.06 |
[JS] ์ฐ์ต๋ฌธ์ - ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2022.07.06 |