알고리즘 공부/문제 풀이
[2019 카카오 겨울인턴] 호텔방 (JAVA)
valid_ming
2020. 5. 8. 23:22
효율성 구하는데 실패한 문제
해쉬를 재귀적으로 사용함으로써 해결
package kakao;
import java.util.*;
public class hotelRoom {
static Map<Long,Long> rooms=new HashMap<Long,Long>();
static long[] solution(long k, long[] room_number) {
long[] answer = new long[room_number.length];
for(int i=0;i<room_number.length;i++) {
answer[i]=find(room_number[i])-1;
}
for(int i=0;i<answer.length;i++)System.out.println(answer[i]);
return answer;
}
static long find(long number) {
if(!rooms.containsKey(number)) {
rooms.put(number,number+1);
return number+1;
}
else {
long temp=find(rooms.get(number));
rooms.put(number,temp);
return temp;
}
}
public static void main(String[] args) {
long[] rooms={1,3,4,1,3,1};
long[] ans=solution(10,rooms);
}
}