inblog logo
|
LHS's Study Space
    알고리즘문제풀기프로그래머스

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

    lhs's avatar
    lhs
    Jan 06, 2025
    [프로그래머스] 호텔 대실(155651)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/155651
     

    1. 문제 풀이 아이디어

    • 예약 시간을 분 단위로 변환하여 전체 시간을 나타내는 배열에 저장하고, 배열에서 가장 큰 값을 반환하여 문제를 해결한다.

    2. 나의 정답 코드

    class Solution { public int solution(String[][] book_time) { int answer = 0; int[] time = new int[1440]; for (String[] strings : book_time) { int start = time(strings[0]); int end = Math.min(time(strings[1]) + 10,1440); for (int i = start; i < end; i++) { time[i]++; } } for (int i = 0; i < 1440; i++) { answer = Math.max(answer, time[i]); } return answer; } private int time(String s) { String[] split = s.split(":"); int hour = Integer.parseInt(split[0]); int minute = Integer.parseInt(split[1]); return hour * 60 + minute; } }

    3. 정리

    • book_time 배열을 순회하며 각 예약의 입실 시간과 퇴실 시간(퇴실 후 10분 포함)을 분 단위로 변환한 뒤, 해당 시간 구간에 해당하는 time 배열 값을 증가시킨다.
    • time 배열을 순회하여 가장 큰 값을 찾아 반환한다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog