You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bookList를 돌며 이미 배정된 룸들을 같이 돌아주며 퇴실시간보다 입실 시간이 늦거나, 입실 시간보다 퇴실 시간이 빠른 경우 해당 룸에 예약 리스트를 추가한다.
이 때 손님이 아무 방도 배정받지 못한다면 (이미 해당 시간에 예약이 찼다면) 객실을 하나 추가해준다.
💬 풀이
func solution(book_time:[[String]])->Int{varbookList:[(Int,Int)]=[]// Int로 시간변환
for b in book_time {lett1=Int(b[0].components(separatedBy:":").map{String($0)}.joined())!
vart2=Int(b[1].components(separatedBy:":").map{String($0)}.joined())! +10// 청소시간을 합친 분 시간이 60분을 넘는다면
if t2 %100>=60{// 40을 더해준다
t2 +=40}
bookList.append((t1, t2))}// 퇴실 시간이 큰 순서대로 정렬
bookList = bookList.sorted(by:{ $0.1> $1.1})varassignRoomList:[[(Int,Int)]]=[[bookList.first!]]
for b in 1..<bookList.count {varisBooked= false
for (i, r) in assignRoomList.enumerated(){// 퇴실시간보다 입실 시간이 늦거나, 입실 시간보다 퇴실 시간이 빠른 경우
if bookList[b].0>= r.last!.1 || r.last!.0>=bookList[b].1{// 해당 룸에 예약 리스트를 추가한다assignRoomList[i].append(bookList[b])
isBooked = true
break
}}// 예약되지 않았다면
if !isBooked {// 새로운 방을 배정한다
assignRoomList.append([bookList[b]])}}return assignRoomList.count
}
The text was updated successfully, but these errors were encountered:
💬 문제
[코딩테스트 연습 - 호텔 대실](https://school.programmers.co.kr/learn/courses/30/lessons/155651)
💬 Idea
💬 풀이
The text was updated successfully, but these errors were encountered: