쥐수의 공부노트

백준 1931번 회의실 배정 본문

바킹독 알고리즘/그리드

백준 1931번 회의실 배정

쥐수 2023. 7. 27. 16:39
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