์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- dfs
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ์ฝํ
- BFS
- ๋ฐฑํธ๋ํน
- ์คํ
- ๋์ ํฉ
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- WebApp
- ํ๋ก๊ทธ๋๋จธ์ค
- Queue
- ์์
- ๋นํธ์ฐ์ฐ์
- ๋ถํ ์ ๋ณต
- Swift
- ์ฝ๋ฉํ ์คํธ
- ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค
- ๋ถํ ํ์
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- SwiftUI
- ์ด์งํ์
- ios
- ๋ฐฑ์ค
- WebView
- ๋ถํ ์ ๋ณต
- dp
- ๋ฌธ์์ด
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํธ์ํฌ ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋์ ํ์ด
var computer = [[Int]]()
var visited = [Bool]()
func solution(_ n:Int, _ computers:[[Int]]) -> Int {
computer = computers
visited = Array(repeating: false, count: n)
var answer = 0
for i in 0..<n {
if !visited[i] {
dfs(i)
answer += 1
}
}
return answer
}
func dfs(_ now: Int) {
if visited[now] { return }
visited[now] = true
for i in 0..<computer.count {
if computer[now][i] == 1 { dfs(i) }
}
}
ํ์ด ํค์๋
DFS
๊น์ด ์ฐ์ ํ์์ ์ฌ๊ทํจ์๋ก ํผ ํ์ด๋ค.
dfs()ํจ์๊ฐ ๋ฐ๋ณต๋ฌธ์ ๋ ๋ ์ฌ๊ทํจ์์ ํน์ฑ์ผ๋ก
์ด์ด์ง ์ปดํจํฐ๊น์ง visited๋ฐฐ์ด์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์
solution()ํจ์์์ ๋ฐ๋ณต๋ฌธ์ด ๋ ๋ ๋ฏธ๋ฆฌ ๋ฐฉ๋ฌธํ computer๋ if์กฐ๊ฑด์ ํด๋น๋์ง ์๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ด๋คํธ์ํฌ์ ๊ฐ์๋ฅผ ์ ์ ์๊ฒ ๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ์์ถ (0) | 2023.03.28 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋ (0) | 2023.03.27 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2023.03.23 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [1์ฐจ] ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2023.03.22 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ฆฐํฐ (0) | 2023.03.21 |