[프로그래머스] 호텔 대실

2023. 2. 11. 21:18·PS/프로그래머스
반응형

링크

문제 설명

img1

입력으로 [입실 시간, 퇴실 시간] 쌍으로 이루어진 리스트가 주어진다. 예약 시간동안 그 방은 다른 사람이 사용할 수 없으며 청소시간이 있기 때문에 퇴실시간이 지난 후 10분 뒤에 새로운 손님을 받을 수 있다. 예약 목록이 주어졌을 때 필요한 최소 객실의 수를 구하는 문제이다.

제한사항

def solution(book_time: List) -> int:
    answer = 0
    return answer
  • 1 ≤ book_time의 길이 ≤ 1,000
    • book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다
      • [대실 시작 시각, 대실 종료 시각] 형태입니다.
    • 시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다.
      • 예약 시각이 자정을 넘어가는 경우는 없습니다.
      • 시작 시각은 항상 종료 시각보다 빠릅니다.

풀이

라인 스위핑으로 문제를 풀었다. 시작시간과 종료시간을 한 리스트에 넣고, 리스트를 순회하며 시작시간일 경우 +1, 종료시간일 경우 -1으로 계산해 최대값을 구한다.

제출 코드

def to_min(s):
    h, m = s.split(":")
    return int(h) * 60 + int(m)

def solution(book_time):
    arr = [] # (minute, 's' or 'e')
    for s, e in book_time:
        s = to_min(s)
        e = to_min(e) + 10
        arr.append((s, 's'))
        arr.append((e, 'e'))

    arr.sort()
    cnt = 0
    max_cnt = 0
    for val, flag in arr:
        if flag == 's':
            cnt += 1
        else:
            cnt -= 1
        max_cnt = max(cnt, max_cnt)

    return max_cnt
반응형
저작자표시 비영리 변경금지 (새창열림)
'PS/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 시소 짝궁
  • [프로그래머스] 뒤에 있는 큰 수 찾기
  • [프로그래머스] 크기가 작은 부분 문자열
  • [프로그래머스] 숫자 변환하기
덴마크초코우유
덴마크초코우유
IT, 알고리즘, 프로그래밍 언어, 자료구조 등 정리
    반응형
  • 덴마크초코우유
    이것저것끄적
    덴마크초코우유
  • 전체
    오늘
    어제
    • 분류 전체보기 (124)
      • Spring Framework (10)
        • Spring (5)
        • JPA (3)
        • Spring Security (0)
      • Language (51)
        • Java (11)
        • Python (10)
        • JavaScript (5)
        • NUXT (2)
        • C C++ (15)
        • PHP (8)
      • DB (16)
        • MySQL (10)
        • Reids (3)
        • Memcached (2)
      • 개발 (3)
      • 프로젝트 (2)
      • Book (2)
      • PS (15)
        • 기타 (2)
        • 백준 (2)
        • 프로그래머스 (10)
      • 딥러닝 (8)
        • CUDA (0)
        • Pytorch (0)
        • 모델 (0)
        • 컴퓨터 비전 (4)
        • OpenCV (1)
      • 기타 (16)
        • 디자인패턴 (2)
        • UnrealEngine (8)
        • ubuntu (1)
        • node.js (1)
        • 블로그 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JavaScript
    알고리즘
    C
    NUXT
    php
    딥러닝
    CPP
    언리얼엔진4
    파이썬
    map
    FPS
    클래스
    pytorch
    C++
    memcached
    자바
    select
    JS
    mscoco
    게임 개발
    Unreal Engine
    웹
    Unreal
    프로그래머스
    게임
    Python
    PS
    MySQL
    redis
    블루프린트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
덴마크초코우유
[프로그래머스] 호텔 대실
상단으로

티스토리툴바