์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ถํ ์ ๋ณต
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ถํ ์ ๋ณต
- ์คํ
- WebApp
- ๋ถํ ํ์
- WebView
- ๋ฐฑํธ๋ํน
- ์์
- ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- SwiftUI
- ios
- ํ๋ก๊ทธ๋๋จธ์ค
- Queue
- ๋ฌธ์์ด
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- BFS
- ์ฝํ
- dp
- Swift
- ์ฝ๋ฉํ ์คํธ
- ๋์ ํฉ
- ์ด์งํ์
- ๋ฐฑ์ค
- dfs
- ๋นํธ์ฐ์ฐ์
- ๋ธ๋ฃจํธํฌ์ค
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์๊ฒฉ ์์คํ ๋ณธ๋ฌธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์๊ฒฉ ์์คํ
MUKER 2023. 7. 10. 23:45๋ฌธ์ ๋งํฌ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์
A ๋๋ผ๊ฐ B ๋๋ผ๋ฅผ ์นจ๊ณตํ์์ต๋๋ค. B ๋๋ผ์ ๋๋ถ๋ถ์ ์ ๋ต ์์์ ์์ด๊ธฐ์ค ๊ตฐ์ฌ ๊ธฐ์ง์ ์ง์ค๋์ด ์๊ธฐ ๋๋ฌธ์ A ๋๋ผ๋ B ๋๋ผ์ ์์ด๊ธฐ์ค ๊ตฐ์ฌ ๊ธฐ์ง์ ์ต๋จํญ๊ฒฉ์ ๊ฐํ์ต๋๋ค.
A ๋๋ผ์ ๊ณต๊ฒฉ์ ๋ํญํ์ฌ ์์ด๊ธฐ์ค ๊ตฐ์ฌ ๊ธฐ์ง์์๋ ๋ฌด์ํ ์์์ง๋ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ๋ค์ ์๊ฒฉํ๋ ค๊ณ ํฉ๋๋ค. ์ด๊ณณ์๋ ๋ฐฑ๋ฐ๋ฐฑ์ค์ ์๋ํ๋ ์๊ฒฉ ์์คํ ์ด ์์ง๋ง ์ด์ฉ ๋น์ฉ์ด ์๋นํ๊ธฐ ๋๋ฌธ์ ๋ฏธ์ฌ์ผ์ ์ต์๋ก ์ฌ์ฉํด์ ๋ชจ๋ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ ์๊ฒฉํ๋ ค ํฉ๋๋ค.
A ๋๋ผ์ B ๋๋ผ๊ฐ ์ธ์ฐ๊ณ ์๋ ์ด ์ธ๊ณ๋ 2 ์ฐจ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. A ๋๋ผ๊ฐ ๋ฐ์ฌํ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ x ์ถ์ ํํํ ์ง์ ํํ์ ๋ชจ์์ด๋ฉฐ ๊ฐ๊ตฌ๊ฐ์ ๋ํ๋ด๋ ์ ์ ์ (s, e) ํํ๋ก ํํ๋ฉ๋๋ค. B ๋๋ผ๋ ํน์ x ์ขํ์์ y ์ถ์ ์ํ์ด ๋๋๋ก ๋ฏธ์ฌ์ผ์ ๋ฐ์ฌํ๋ฉฐ, ๋ฐ์ฌ๋ ๋ฏธ์ฌ์ผ์ ํด๋น x ์ขํ์ ๊ฑธ์ณ์๋ ๋ชจ๋ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ ๊ดํตํ์ฌ ํ ๋ฒ์ ์๊ฒฉํ ์ ์์ต๋๋ค. ๋จ, ๊ฐ๊ตฌ๊ฐ (s, e)๋ก ํํ๋๋ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ s์ e์์ ๋ฐ์ฌํ๋ ์๊ฒฉ ๋ฏธ์ฌ์ผ๋ก๋ ์๊ฒฉํ ์ ์์ต๋๋ค. ์๊ฒฉ ๋ฏธ์ฌ์ผ์ ์ค์์ธ x ์ขํ์์๋ ๋ฐ์ฌํ ์ ์์ต๋๋ค.
๊ฐ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ x ์ขํ ๋ฒ์ ๋ชฉ๋ก targets์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ชจ๋ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ ์๊ฒฉํ๊ธฐ ์ํด ํ์ํ ์๊ฒฉ ๋ฏธ์ฌ์ผ ์์ ์ต์๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- 1 ≤ targets์ ๊ธธ์ด ≤ 500,000
- targets์ ๊ฐ ํ์ [s,e] ํํ์
๋๋ค.
- ์ด๋ ํ ํญ๊ฒฉ ๋ฏธ์ฌ์ผ์ x ์ขํ ๋ฒ์๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ๊ตฌ๊ฐ (s, e)์์ ์๊ฒฉํด์ผ ํฉ๋๋ค.
- 0 ≤ s < e ≤ 100,000,000
์ ์ถ๋ ฅ ์
์ฑ๊ณต ํ์ด
import Foundation
func solution(_ targets:[[Int]]) -> Int {
let targets = targets.sorted { $0[1] < $1[1] }
var targetSize = 0
var count = 0
for i in 0..<targets.count {
if targets[i][0] >= targetSize {
targetSize = targets[i][1]
count += 1
}
}
return count
}
// targets์ ๊ฐ ๋ฐฐ์ด 1๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ฌ์ ๋ ฌ.
// target๋ค์ด ๊ฒน์น๋์ง ๋น๊ตํ๊ธฐ์ํด targetSize๋ณ์๋ฅผ ๋ง๋ค์ด
// targets๋ฅผ ์ํํ๋ฉฐ ์ ํ๊ฒ์ 1๋ฒ์งธ ์ธ๋ฑ์ค(targetSize) ๋ณด๋ค
// ํ์ฌ target์ 0๋ฒ์งธ ์ธ๋ฑ์ค๊ฐ ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด
// targetSize์ ํ์ฌ target์ 0๋ฒ์งธ๋ฅผ ํ ๋นํ๊ณ , count += 1
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ฌ๊ฐํ์ผ๋ก ๋ง๋ค๊ธฐ (0) | 2023.07.04 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ด๋ฌผ ์บ๊ธฐ (0) | 2023.07.03 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ซ์ ์นด๋ ๋๋๊ธฐ (0) | 2023.06.29 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ (0) | 2023.06.27 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ๋ฐฉ๊ธ๊ทธ๊ณก (0) | 2023.06.26 |