์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- SwiftUI
- ์ฝํ
- Swift
- ๋ฐฑ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ํ์
- ๋ฌธ์์ด
- ๋ถํ ์ ๋ณต
- ์์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝ๋ฉํ ์คํธ
- dfs
- ๋นํธ์ฐ์ฐ์
- ์ด์งํ์
- ๋ถํ ์ ๋ณต
- ios
- BFS
- dp
- ์คํ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค
- WebApp
- WebView
- ๋์ ํฉ
- ๋ฐฑํธ๋ํน
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ ๋ณธ๋ฌธ
๐ค ์๊ณ ๋ฆฌ์ฆ/programmers
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ
MUKER 2023. 6. 23. 01:15ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์ฑ๊ณต ํ์ด
func solution(_ rows:Int, _ columns:Int, _ queries:[[Int]]) -> [Int] {
var result = [Int]()
var arr = [[Int]]()
for i in 0..<rows { // ๋ฐฐ์ด ์ด๊ธฐํ
arr.append(Array((i*columns)+1...(i*columns)+columns))
}
for i in queries { // ํ์ ํ์ค๋ฆฌ!
let startY = i[0]-1, startX = i[1]-1, endY = i[2]-1, endX = i[3]-1
var block = Array(repeating: [Int](), count: 4) // block์ ํ
๋๋ฆฌ๋ฅผ 4๊ฐ๋ก ์๋ผ ๋ด์
for i in startX...endX { // ๊ฐ๋ก๋ธ๋ก ๊ตฌํ๊ธฐ
block[0].append(arr[startY][i])
block[2].insert(arr[endY][i], at:0)
}
if startY+1 <= endY-1 { // ์ธ๋ก๋ธ๋ก ๊ตฌํ๊ธฐ, ์กฐ๊ฑด๋ฌธ์ด ์ฑ๋ฆฝ์ด ์๋๋ค๋ฉด ์ธ๋ก๋ธ๋ก์ ๊ตฌํ ํ์ ์์
for i in startY+1...endY-1 {
block[1].append(arr[i][endX])
block[3].insert(arr[i][startX], at:0)
}
}
var newBlock = block.flatMap {$0}
result.append(newBlock.min()!) // ์์ ๋ธ๋ก ๊ตฌํ๊ธฐ
for i in startY...endY { // ํ
๋๋ฆฌ๋ฅผ ๊ฑฐ๊พธ๋ก ๋๋ฉด์ newBlock์ ๋ง์ง๋ง๋ถํฐ ๋ค์ ๋ฃ์ด์ค.
arr[i][startX] = newBlock.popLast()!
}
for i in startX+1...endX {
arr[endY][i] = newBlock.popLast()!
}
for i in (startY...endY-1).reversed() {
arr[i][endX] = newBlock.popLast()!
}
if startX+1 <= endX-1 {
for i in (startX+1...endX-1).reversed() {
arr[startY][i] = newBlock.popLast()!
}
}
}
return result
}
ํ์ด ํค์๋
- ํ ๋๋ฆฌ์ ์ซ์๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ตฌํด block๋ฐฐ์ด์ ๋ฃ์ด์ค๋ค.
- ์๊ณ๋ฐฉํฅ์ผ๋ก ํ๋ฒ ์์ง์ธ ํํ๋ก ๋ค์ ๋ฐฐ์ด์ block๋ฐฐ์ด์ ๋ฃ์ด์ค๋ค.
- ์์๋ฐฐ์ด์ ๋ง๋ค์ด์ ๋ฎ์ด์์์คฌ์ผ๋ฉด ๋ฐ๋ณต๋ฌธ์ ๋ ์ค์ผ ์ ์์๊ฑฐ ๊ฐ๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌด์ธ๋ ์ฌํ (0) | 2023.06.23 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฉ๋ด ๋ฆฌ๋ด์ผ (0) | 2023.06.23 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ฐฐ์์ (0) | 2023.06.22 |
[swift] ๋ฐฑ์ค - 2161๋ฒ: ์นด๋1 (0) | 2023.06.13 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ฃผ์ฌ์ ๊ฒ์ 3 (0) | 2023.06.07 |