[프로그래머스] 호텔 대실 (시간 단위 통일)

쿼카쿼카·2023년 6월 3일
0

알고리즘

목록 보기
63/67

문제

코드

function solution(book_time) {
    const ans = [];
    book_time.sort();
    
    const books = book_time.map(([start, end]) => {
        const sTime = start.split(':'), eTime= end.split(':');
        
        return [sTime[0]*60 + +sTime[1], eTime[0]*60 + +eTime[1]];
    })

    ans.push(books[0][1]);
    
    for(let i=1; i<books.length; i++) {
        ans.sort((a, b) => a-b);
        
        if(ans[0]+10 <= books[i][0]) ans[0] = books[i][1];
        else ans.push(books[i][1]);
    }

    return ans.length;
}

시간 단위 통일의 중요성

  • 시간 문제가 나오면 가장 낮은 단위로 통일 하는게 좋다.
  • 나는 저기서 뻘짓 한다고 split으로 나누고 각각 계산해서 다시 넣어주고 뭐 암튼 그래서 다 틀렸다는 후문이..

ans에 종료 시간만 넣어주고 sort

  • 나는 ans에 값을 넣어주고 계산할 때마다 sort를 해줬다.
  • 다음 예약 시작시간보다 ans의 맨 앞 시간이 크다면 새로운 방에 넣어야 하니까 위처럼 공식을 써줬다.
profile
쿼카에요

0개의 댓글