์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- BOJ
- arkit
- Kuring
- SwiftUI
- ios
- Flutter
- Xcode
- swift
- rxcocoa
- tableView
- reactorkit
- TCA
- node.js
- ํจ์คํธ์บ ํผ์ค
- Lv2
- RxSwift
- ํ๋ก๊ทธ๋๋จธ์ค
- visionOS
- XCTest
- Swfit
- CollectionView
- ๋ฐฑ์ค
- SnapKit
- designpattern
- realm
- MVVM
- BFS
- combine
- raywenderlich
- UIKit
- Today
- Total
lgvv98
[Swift] BOJ 1931ํ์์ค ๋ฐฐ์ ๋ณธ๋ฌธ
BOJ 1931ํ์์ค ๋ฐฐ์
โ ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ ์ฌ์ ์
๋จผ์ ์ ๋ ฌ์ ํด์ผํ๋๋ฐ, ๋๋๋ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ํํ๋ฉฐ ๋ง์ฝ ๊ทธ ๋๋๋ ์๊ฐ์ด ๊ฐ๋ค๋ฉด ์์ ์๊ฐ์ด ๋น ๋ฅธ ๊ฒ์ ์์๋ค๊ฐ ๋ฐฐ์นํจ.
๊ทธ ์ดํ๋ก๋ ๊ทธ๋ฆฌ๋(๊ทธ๋ฅ for๋ฌธ ๋ค ๋๋ฆฌ๋ผ๋ ๋ง)๋ก ํ๋ฉด ๋๋๋ฐ, ํ์ฌ ์๊ฐ๊ณผ ์์์๊ฐ์ ๋น๊ตํด์ ์์์๊ฐ์ด ๊ฐ๊ฑฐ๋ค ๋ ๋ค์ ์์ผ๋ฉด ์นด์ดํธ๋ฅผ ์ฆ๊ฐ์ํค๊ณ ํ์ฌ ์๊ฐ์ ๋๋๋ ์๊ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
ํฌ์คํ ์ ํ๋ค๋ ๊ฑด ์๊ฐ๋ณด๋ค ์ค๋ ๊ฑธ๋ ธ๋จ ๋ง์ด๊ฒ ์ง?
๋ฐฑ์ค ๋ฌธ์ ๊ฐ ๋๋ฌด ๋ถ์น์ ํด์,, ํ ์คํธ ์ผ์ด์ค๊ฐ ํ๋๋ง ์๋๋ฐ, ๋น์ฐํ ์ ๋ ฌ์ด ๋์ด์๋์ค ์์์.
์ ๋ ฌ์ด ์๋์ด ์์ด์ ๊ทธ๋์ ์ ๋ ฌํ๋๊น ์๋ฃ
๋๋ ์ฒ์์ 85%์ฏค์์ ๋งํ๋๋ฐ ๋ฐ๋ก๋ฅผ ์ฐพ์์
[๋ฐ๋ก]
3
3 3
2 3
3 3
์ฌ๋ฐ๋ฅธ ๋ต: 3
let iterator : Int! = Int(readLine()!)! // 1..<100000 ์ ์
var time_list: [(Int, Int)] = []
for _ in 0..<iterator {
let input = readLine()!.split(separator: " ")
let start: Int = Int(input[0])!
let end: Int = Int(input[1])!
time_list.append((start, end))
}
// ์ ๋ ฌ
time_list = time_list.sorted {
if $0.1 == $1.1 {
return $0.0 < $1.0
}
return $0.1 < $1.1
}
// ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
// print(time_list)
var currentTime = 0
var count = 0
time_list.forEach { start, end in
if start >= currentTime { // ํ์ ๊ฐ๋ฅํ ์ผ์ด์ค
// print("-> \(start) \(end)")
count += 1
currentTime = end
}
}
print(count)
'์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] BOJ 11726 2 x n ํ์ผ๋ง (0) | 2022.04.01 |
---|---|
[Swift] BOJ 10610๋ฒ 30 (0) | 2022.03.22 |
[Swift] BOJ 2839 ์คํ ๋ฐฐ๋ฌ (0) | 2022.03.22 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV1. ์์ ์ฐพ๊ธฐ (0) | 2022.03.19 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV1. [1์ฐจ] ๋คํธ ๊ฒ์ (0) | 2022.03.19 |