문제 설명
호텔을 운영하는 주인은 최소 객실만을 이용하여 손님을 받으려 한다.
최소 몇개의 객실만을 가지고 운영할 수 있는가
생각한 아이디어
퇴실 시간 기준으로 오름 차순 정렬을 생각했지만 거의 다 틀렸다.. 왜 안돼는지 아시는 분 있으면 알려주세요 :)
풀이 (입실 시간 기준 정렬)
public int solution(String[][] book_time) {
int answer = 0;
String[][] bt=book_time;
int n=book_time.length;
List<Time> times=new ArrayList<>();
for(int i=0; i<n; i++){
String in=bt[i][0];
String out=bt[i][1];
times.add(new Time(in,out));
}
Collections.sort(times);
boolean[] possibles=new boolean[n];
Arrays.fill(possibles,true);
for(int i=0; i<n; i++){
if(!possibles[i]) continue;
Time cur=times.get(i);
for(int j=i+1; j<n; j++){
if(!possibles[j]) continue;
Time next=times.get(j);
if(cur.isRelay(next)){
possibles[j]=false;
cur=next;
}
}
possibles[i]=false;
answer++;
}
return answer;
}
퇴실 시간순 오름차순 정렬이 왜 안되는 걸까요..?
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 행렬과 연산 (0) | 2023.04.08 |
---|---|
프로그래머스 - 알고리즘 공부 (0) | 2023.04.06 |
프로그래머스 - 등산 코스 정하기 (0) | 2023.04.06 |
프로그래머스 - 혼자서 하는 틱택토 (0) | 2023.04.03 |
시소짝궁 (0) | 2023.02.26 |
댓글