프로그래머스 - 호텔 방 배정

J-Keonho·2020년 9월 27일
0

해당 알고리즘 자료는 제가 직접 푼 것도 있지만 다른 분들의 풀이과의 비교를 통해 더 나은 알고리즘을 공부하기 위해 정리한 것들입니다.

프로그래머스 - 호텔 방 배정

https://programmers.co.kr/learn/courses/30/lessons/64063

풀이 : 이 문제는 효율성 접근이 중요한 문제로 탐색이 빠른 HashMap을 이용하는 것이 좋다.

import java.util.*;
class Solution {
    public long[] solution(long k, long[] room_number) {
        HashMap<Long, Long> map = new HashMap<Long, Long>();
		long[] answer = new long[room_number.length];
		for (int i = 0; i < answer.length; i++) {
			answer[i] = solve(room_number[i], map);
		}
        return answer;
    }
    private static long solve(long r, HashMap<Long, Long> map) {
		if (!map.containsKey(r)) {
			map.put(r, r + 1);
			return r;
		}
		long c = solve(map.get(r), map);
		map.put(r, c);
		return c;
	}
}
profile
안녕하세요.

0개의 댓글