์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- dp
- Queue
- SwiftUI
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ถํ ํ์
- ํ๋ก๊ทธ๋๋จธ์ค
- ์์
- dfs
- WebView
- ๋ฌธ์์ด
- ์ฝํ
- ์คํ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- ios
- WebApp
- ๋์ ํฉ
- ๋ธ๋ฃจํธํฌ์ค
- Swift
- ์๊ณ ๋ฆฌ์ฆ
- ์ด์งํ์
- ๋ถํ ์ ๋ณต
- ๋ฐฑ์ค
- ์ฝ๋ฉํ ์คํธ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑํธ๋ํน
- BFS
- ๋ถํ ์ ๋ณต
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ผ๊ฐ ๋ฌํฝ์ด ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์ฑ๊ณต ํ์ด
func solution(_ n:Int) -> [Int] {
var (y,x) = (n-1,0) // ์ขํ ์ค์
var count = n // ๋์
ํ ์ซ์
let sum = (1...n).reduce(0,+) // 1~n๊น์ง ๊ฐ๊ฐ ์ ํฉ (breakํ ๋ ํ์)
var arr = (0..<n).map { // ๋ฐฐ์ด์ ์ค๊ณฝ ์ด๊ธฐํ
[$0+1] + Array(repeating: -1, count: n-$0-1) + Array(repeating: 0, count: $0)
}
while true {
while x < n-1 && arr[y][x+1] == 0 { // ์ค๋ฅธ์ชฝ์ผ๋ก
count += 1
arr[y][x+1] = count
x += 1
}
while y > 0 && arr[y-1][x] == 0 { // ์์ชฝ์ผ๋ก
count += 1
arr[y-1][x] = count
y -= 1
}
while y < n-1 && arr[y+1][x-1] == 0 { // ๋๊ฐ์ ์๋๋ก
count += 1
arr[y+1][x-1] = count
y += 1; x -= 1
}
if count == sum { break } else { continue } // count๊ฐ sum๊ณผ ๊ฐ๋ค๋ฉด break ์๋๋ฉด continue
}
arr.forEach { print($0) }
return arr.flatMap { $0 }.filter { $0 > 0 }
}
ํ์ด ํค์๋
๊ตฌํ
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์๋ ๋ถ๋ถ ์์ด์ ํฉ (0) | 2023.05.05 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ (0) | 2023.05.03 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐํํ๋ฉด ์ ๋ฆฌ (0) | 2023.05.01 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ (0) | 2023.04.28 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋์ถฉ ๋ง๋ ์ํ (0) | 2023.04.27 |