쥐수의 공부노트
백준 1931번 회의실 배정 본문
728x90

정답 :
let n = Int(readLine()!)!
var array = [[Int]]()
for _ in 0..<n {
let input = readLine()!.split(separator: " ").map{Int($0)!}
array.append(input)
}
func greed(array : [[Int]]) -> Int {
var sortArray = array
sortArray.sort{ return $0[0] < $1[0]}
sortArray.sort{ return $0[1] < $1[1]}
var check = 0
var time = 0
for i in sortArray {
let start = i[0]
let end = i[1]
if start >= time {
check += 1
time = end
}
}
return check
}
print(greed(array: array))
해당 문제는 2차원배열에 입력 배열을 다 넣어준 뒤, 시작시간을 정렬한 뒤, 종료시간까지 정렬을 해야한다.
그래서 배열순으로 들어가서 start와 end를 설정한 뒤 비교 들어간다.
728x90
'바킹독 알고리즘 > 그리드' 카테고리의 다른 글
백준 1026번 보물 (0) | 2023.07.31 |
---|---|
백준 2217번 로프 (0) | 2023.07.27 |
백준 11047번 동전 0 (0) | 2023.07.25 |