[JS][프로그래머스 -LEVEL 2 -호텔 대실 ]

정대만·2023년 7월 21일

코딩테스트

목록 보기
30/51
post-thumbnail

문제 해석

처음에는 dp 문제인가 고민해봤는데 완전 탐색 문제 인거 같아서 완전 탐색으로 풀었다.

해설

  • : 으로 되어있는것을 잘라서 분 형태로 만들어줌
  • sort 해서 적은 수 부터 정렬되게함
  • 시작하는 시간에 이미 방이 잡혀있으면 object에 방하나 추가해줘서 끝나는 시간 넣는다.
  • object 형식을 돌아가면서 되는 시간 있는 경우에는 break 해주고 안되면 방 하나 추가해주기
function solution(book_time) {
    var answer = 0;
    var obj_time={};
    var room_1=0;
    
    book_time.map((el,index)=>{
      var first= el[0].split(':');
      var second=el[1].split(':');
      book_time[index]=
          [
          parseInt(first[0])*60 +parseInt(first[1]),
          parseInt(second[0])*60 +parseInt(second[1])
        ]; 
    })
    book_time.sort((a,b)=> a[0]-b[0]);
   // console.log(book_time)
    
    for(var i=0; i<book_time.length; i++){
        var check=0;
        if(i==0){
             obj_time[room_1]=book_time[i][1]+10;
            continue;
        }
        for(var hey in obj_time){
            if(obj_time[hey]<=book_time[i][0]){
                obj_time[hey]=book_time[i][1]+10;
                check=1;
                break;
            }
        }
        if(check==0){
                  room_1+=1;
                obj_time[room_1]=book_time[i][1]+10;
        }
        
    }
   return (   Object.values(obj_time).length)
   
    

}
profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2023년 7월 21일

이 문제 풀이를 보면서 완전 탐색 알고리즘에 대해 새롭게 배울 수 있었습니다. 코드에 대한 자세한 설명이 있어서 따라가기 편했어요. 확실히 이해하였고, 유익한 글이었습니다. 감사합니다.

답글 달기