FrontEnd/프로그래머스

[JS] 호텔 대실

728x90

현재 쓰고있는 방의 개수를 넣을 배열을 하나 넣은 후, 손님이 들어올때마다 종료시간이 된 손님들을 내보내는 방식으로 코드를 구현하였다.

 

손님이 나간 이후 10분동안 청소를 해야하므로, 종료시간을 그냥 10분 더 연장하여 생각하였다.

 

시간,분으로 나누어져 있는 값들을 모두 분으로 바꾸어서 계산하기 쉽게 바꾸어주었다.

 

 

 

const hTom = (str) => {
    const [h,m] = str.split(":")
    return +h * 60 + +m
}

function solution(book_time) {
   
    const time = book_time.map(el => [hTom(el[0]) , hTom(el[1])+10])
    time.sort((a,b) => a[0]-b[0])
    
    let ret = 0;
  
    let room = []
    
    for (const [s,e] of time) {
        room = room.filter(el => el[1] >  s )
        room.push([s,e])
        ret = ret > room.length ? ret : room.length
    }
    
    
    return ret;
}
728x90

'FrontEnd > 프로그래머스' 카테고리의 다른 글

[JS] 뒤에 있는 큰 수 찾기  (0) 2023.05.23
[JS] 무인도 여행  (0) 2023.05.23
[JS] 미로탈출  (0) 2023.05.20
[JS] 혼자서 하는 틱택토  (0) 2023.05.19
[JS] 리코쳇 로봇  (0) 2023.05.19