์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ์์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ์ด์งํ์
- Queue
- ๋ธ๋ฃจํธํฌ์ค
- ์คํ
- Swift
- BFS
- WebApp
- ๋นํธ์ฐ์ฐ์
- ios
- ํ๋ก๊ทธ๋๋จธ์ค
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- dp
- ์ฝ๋ฉํ ์คํธ
- WebView
- ๋ถํ ์ ๋ณต
- ๋ถํ ์ ๋ณต
- dfs
- ๋ฌธ์์ด
- SwiftUI
- ๋ฐฑํธ๋ํน
- ์ฝํ
- ๋ถํ ํ์
- ๋์ ํฉ
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ ๋ณธ๋ฌธ
๐ค ์๊ณ ๋ฆฌ์ฆ/programmers
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ
MUKER 2023. 3. 29. 00:43
๋์ ํ์ด
func solution(_ board:[[Int]]) -> Int {
var myBoard = board
let N = board.count
let M = board[0].count
for i in 1..<N {
for j in 1..<M {
if myBoard[i][j] > 0 {
myBoard[i][j] += min(myBoard[i][j-1],myBoard[i-1][j-1],myBoard[i-1][j])
// ํ์ฌ ๋ณด๋์ ์ผ์ชฝ,์์ชฝ,์ผ์์ชฝ์ ๊ฐ ์ค ์ ์ผ ์์ ๊ฐ์ + 1์ ํ์ฌ ํ์ฌ ๋ณด๋์ ์ ์ฅ
// why? ์ธ๊ฐ ๋ชจ๋ 1๋ก ๋ค ์ฐจ์๋ค๋ฉด 2๊ฐ๋๋ฉด์ ํด๋น ๋ณด๋๋ฅผ ๊ธฐ์ค์ผ๋ก 2์ธ ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ์ด ๋ง๋ค์ด์ง
// ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ๊ฐ ๋ชจ๋ 2๋ก ์ฐจ์๋ค๋ฉด 3์ธ ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ์ด ๋ง๋ค์ด์ง ์ ์์
}
}
}
let num = myBoard.flatMap({$0}).max()!
return num * num
}
ํ์ด ํค์๋
DP
๋ชจ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๊ทธ๋ ์ง๋ง..
DP๋ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ์ด๋ด์ผ ์ด๋ค์์ผ๋ก ์ ๊ทผํด์ผ ํ ์ง ์๊ฐ์ด ๋๋๊ฑฐ ๊ฐ๋ค.
๋ฐ๋๋ก DP๋ฅผ ๋ณด๋๋์ด ๋ถ์กฑํ๋ค๋ฉด ์ด๋ป๊ฒ ํ์ด์ผํ ์ง ์ฝ๊ฒ ์๊ฐ๋์ง ์๋๊ฑฐ ๊ฐ๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] n์ง์ ๊ฒ์ (0) | 2023.03.31 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ ์ธํ์ฌ (0) | 2023.03.29 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ์์ถ (0) | 2023.03.28 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋ (0) | 2023.03.27 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํธ์ํฌ (0) | 2023.03.24 |