호텔 방 배정

Lee1231234·2023년 4월 28일

코딩테스트

목록 보기
46/95

제한인 방 번호가 10^12이므로 배열의 크기보다 크기때문에 배열로는 모든 방을 나타낼수없다.
따라서 hashMap을 사용하여 모든값을 하나씩 비교하는게 아닌 건너뛰는형식으로 처리하는것이 가장 빠르다.
코드(hashMap)

import java.util.*;
class Solution {
    HashMap<Long,Long> map;
    public long[] solution(long k, long[] room_number) {
        map= new HashMap<>();
        long[] answer = new long[room_number.length];
        for(int i=0;i<room_number.length;i++){          
            answer[i]= numberRoom(room_number[i]);               
        }                
        return answer;
    }
    public long numberRoom(long num){
        if(!map.containsKey(num)){
            map.put(num,num+1);
            return num;
        }else{
            map.put(num, numberRoom(map.get(num)));
            return map.get(num);
        }
        
    }
}
profile
not null

0개의 댓글