본문 바로가기

PYTHON/CODING TEST

[programmers] 호텔 대실

728x90

문제 링크

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

def solution(book_time):
    book_time.sort()
    room = [-10,]
    r = 1
    for time in book_time:
        time = [int(n[0])*60 + int(n[1]) for n in [i.split(':') for i in time]]

        room = [r for r in room if r+10 > time[0]]
        room.append(time[1])

        if len(room) > r:
            r = len(room)

    answer = r
    return answer

다른 풀이

def solution(book_time):
    time_table = [0 for _ in range(60 * 24)]
    for start, end in book_time:
        start_minutes = 60 * int(start[:2]) + int(start[3:])
        end_minutes = 60 * int(end[:2]) + int(end[3:]) + 10

        if end_minutes > 60 * 24 - 1:
            end_minutes = 60 * 24 - 1

        for i in range(start_minutes, end_minutes):
            time_table[i] += 1
    return max(time_table)
728x90

'PYTHON > CODING TEST' 카테고리의 다른 글

[DFS/BFS] 음료수 얼려 먹기  (0) 2024.05.10
[programmers] 카드 뭉치  (0) 2023.02.19
[programmers] 외톨이 알파벳  (0) 2023.02.16
[programmers] 개인정보 수집 유효기간  (0) 2023.02.12
[programmers] 둘만의 암호  (0) 2023.02.12