2022. 10. 19. 12:28ใํ๋ก๊ทธ๋๋จธ์ค-Swift
ํ๋ก๊ทธ๋๋จธ์ค - ๋ ๋ฐ๋จน๊ธฐ(Swift)
๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12913
๋ค๋ฅธ ์ฌ๋์ ํ์ด
DP์ ํ์ ์ต์ํ์ง ์์์ ๊ทธ๋ฐ์ง DP์๊ฐ์ด ๋ ์ค๋ฅด์ง ์์์ ๋ค๋ฅธ์ฌ๋์ ํ์ด๋ฅผ ์ฐธ๊ณ ํ๋ค.
์ฒ์์๋ n์ ๋ฒ์๊ฐ 100,000์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋งํ๋ฉด ํ ๋ฒ๋ง for๋ฌธ์ ๊ฑฐ์ณ์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. (์ด์ ๋ DP๋ฅผ ๋ ์ฌ๋ ค๋ณด์)
1 2 3 4
5 6 7 8 ๋ก ๋์ด์์๋
2๋ฒ์งธ ํ์ 5๋ฅผ ๋ฐ์ผ๋ ค๋ฉด ์ฒซ๋ฒ์งธ ํ์ 1์ ์ ์ธํ 2, 3, 4 ์ค์ ์ต๋๊ฐ์ ๋ฐ์์ผํ๊ณ ,
2๋ฒ์งธ ํ์ 6์ ๋ฐ์ผ๋ ค๋ฉด ์ฒซ๋ฒ์งธ ํ์ 2๋ฅผ ์ ์ธํ 1, 3, 4 ์ค์ ์ต๋๊ฐ์ ๋ฐ์์ผํ๋ค.
์ฆ ๋ค์ํ์์ ์ ์ ์ด์ ์ ์ธํ๊ณ ์ด๋ง๋ค ๊ฐ์ ๋์ ์ํค๋ฉด ์ต๋๋ฅผ ๊ตฌํ ์ ์๋ค.
์ฌ๊ธฐ์ ์๋ก ์๊ฒ ๋ ๊ฒ์ ์ค์ํํธ ๋ด์ฅ ํจ์์ธ max์๋ ์ฌ๋ฌ๊ฐ์ ์ธ์๊ฐ ๋ค์ด์ฌ ์ ์๋ค๋ ๊ฒ์ด๋ค.
import Foundation
func solution(_ land:[[Int]]) -> Int{
var answer = 0
var land = land
for i in 1..<land.count {
land[i][0] += max(land[i-1][1], land[i-1][2], land[i-1][3])
land[i][1] += max(land[i-1][0], land[i-1][2], land[i-1][3])
land[i][2] += max(land[i-1][0], land[i-1][1], land[i-1][3])
land[i][3] += max(land[i-1][0], land[i-1][1], land[i-1][2])
}
return land.last!.max()!
}
'ํ๋ก๊ทธ๋๋จธ์ค-Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ์คํฌํธ๋ฆฌ(Swift) (0) | 2022.10.20 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (0) | 2022.10.20 |
ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ์ฆ4๋ธ๋ก(Swift) (0) | 2022.10.18 |
ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋(Swift) (0) | 2022.10.18 |
ํ๋ก๊ทธ๋๋จธ์ค - n์ง์ ๊ฒ์(Swift) (0) | 2022.10.18 |