프로그래머스/LV2

[프로그래머스 Lv2, python] - 호텔 대실

chyam_eun 2025. 2. 25. 16:58

https://school.programmers.co.kr/learn/courses/30/lessons/155651

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

def solution(book_time):
    book_time.sort()
    room=[]
    for a,b in book_time:
        ischange=0  # 바꿔졌는지
        if len(room)==0: # 처음에는 퇴실 시간을 먼저 추가해줌
            room.append(b)
        else: # 방이 하나이상이면
            b_time=a.split(":") # 예약시간 나누기
            b_m=int(b_time[0])*60+int(b_time[1]) # 분 단위로 생각
            for i in range(len(room)): # 사용하고 있는 방의 퇴실 시간
                time=room[i].split(":") # 퇴실시간 나누기
                m=int(time[0])*60+int(time[1]) # 분 단위로 생각
                
                if b_m-m>=10: # 차이가 10분이상일때
                    room[i]=b # 그 방의 퇴실시간을 업데이트해줌
                    ischange=1 # 바꿈
                    break

            if ischange==0: # 안바꼈을때 새로운방
                room.append(b)
            room.sort()
    return len(room)