[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋ ๋ฐ๋จน๊ธฐ
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/12913
๋ฌธ์ ์ค๋ช
๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์ ๋ (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 ํ๋ฉด ๋ฉ๋๋ค.
์ ํ์ฌํญ
- ํ์ ๊ฐ์ N : 100,000 ์ดํ์ ์์ฐ์
- ์ด์ ๊ฐ์๋ 4๊ฐ์ด๊ณ , ๋ (land)์ 2์ฐจ์ ๋ฐฐ์ด๋ก ์ฃผ์ด์ง๋๋ค.
- ์ ์ : 100 ์ดํ์ ์์ฐ์
ํ์ด
๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํ ์ ์๋ ๋ฌธ์ ์์ต๋๋ค. ๋๋ฒ์งธ ํ๋ถํฐ ์ฐจ๋ก๋๋ก ๋ด๋ ค๊ฐ๋ฉด์, ๊ฐ ์ด์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณ์ ์ ๋ฐ์ดํธํด์ฃผ๋ฉด ๋ง์ง๋ง ํ์๋ ๋์ ๋ ์ต๋ ์ ์๊ฐ ์ ์ฅ์ด ๋ฉ๋๋ค. ์ ๋ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด์ ๊ฐ ์์น์ ๋ํ ์ต๊ณ ์ ์ ๊ตฌํด์ฃผ์์ต๋๋ค. ํ์ง๋ง ์ ํ ์ฌํญ์์ ์ด์ ๊ฐ์๊ฐ 4๋ก ๊ณ ์ ๋์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ ์ค์ฒจํด์ ์ฌ์ฉํ๋ ๊ฒ ๋ณด๋ค๋ ๋ฐ๋ณต๋ฌธ ํ๋์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋๊ฒ ๋ ๋ณด๊ธฐ ์ข์ ์ฝ๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์๋๋ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ํ์ด์ง์์ ๊น๋ํ๊ฒ ์ ์์ฑ๋ ํ์ด๋ฅผ ์ฒจ๋ถํฉ๋๋ค!
import Foundation
func solution(_ land:[[Int]]) -> Int{
var answer = 0
var land = land
for i in 0..<(land.count-1) {
land[i+1][0] += max(land[i][1], land[i][2], land[i][3])
land[i+1][1] += max(land[i][0], land[i][2], land[i][3])
land[i+1][2] += max(land[i][0], land[i][1], land[i][3])
land[i+1][3] += max(land[i][0], land[i][1], land[i][2])
}
guard let last = land.last else { return 0 }
return max(last[0],last[1], last[2], last[3])
}
์ฝ๋
import Foundation
func solution(_ land:[[Int]]) -> Int{
var dp = land
for i in 1..<land.count {
for j in 0..<land[0].count {
for k in 0..<land[0].count {
if j == k { continue }
dp[i][j] = max(dp[i][j], dp[i-1][k] + land[i][j])
}
}
}
return dp.last!.max()!
}
'๐๐ปโโ๏ธ ํผ-์์ค > ๐ฃ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote