LV 2: 호텔 대실

ewillwin·2023년 8월 16일
0

문제 링크

LV 2: 호텔 대실


구현 방식

  • rooms라는 이름의 List를 이용해 현재 필요한 객실의 상황을 나타내주었다

  • book_time을 오름차순으로 정렬하고 index 1부터 순회

    • rooms의 길이만큼 rooms를 순회하며, 만약 존재하는 방을 이용할 수 있다면 해당 방을 이용하고 종료 시각을 update
    • 존재하는 방을 이용할 수 없다면 새로운 방을 append
    • for문이 끝난 후 rooms의 길이가 구하고자 하는 정답이 된다

코드

def solution(book_time):
    N = len(book_time)
    
    for i in range(N):
        for j in range(2):
            tmp = list(map(int, book_time[i][j].split(':')))
            book_time[i][j] = tmp[0]*60 + tmp[1]
    book_time.sort(key=lambda x: x[0])
    
    rooms = []
    rooms.append(book_time[0][1])
    for i in range(1, N):
        
        flag = False
        for j in range(len(rooms)):
            if rooms[j] + 10 <= book_time[i][0]:
                rooms[j] = book_time[i][1]
                flag = True; break
                
        if not flag:
            rooms.append(book_time[i][1])
    
    return len(rooms)
profile
💼 Software Engineer @ LG Electronics | 🎓 SungKyunKwan Univ. CSE

0개의 댓글