Skip to content

Instantly share code, notes, and snippets.

@JinYeJin
Created May 7, 2020 06:19
Show Gist options
  • Save JinYeJin/201bed75efcfd400f69135f62d8eb408 to your computer and use it in GitHub Desktop.
Save JinYeJin/201bed75efcfd400f69135f62d8eb408 to your computer and use it in GitHub Desktop.
프로그래머스 호텔 방 배정
/*
2020-05-07 진예진
참고 https://regularmember.tistory.com/193?category=762816
*/
#include <string>
#include <vector>
#include <map>
using namespace std;
map<long long, long long> visited_rooms;
long long get_empty_room_number(long long cur_room){
// 0: 비어있음
if(visited_rooms[cur_room] == 0) return cur_room;
// visited_room[cur_room]은 모두 비어있는 가장 작은 방의 수로 업데이트 됨
else return visited_rooms[cur_room] = get_empty_room_number(cur_room + 1);
}
vector<long long> solution(long long k, vector<long long> room_number) {
vector<long long> answer;
long long empty_room_number;
for(auto cur_room:room_number){
empty_room_number = get_empty_room_number(cur_room);
answer.push_back(empty_room_number);
// 현재 추가된 방도 visited_room에 추가해준다.
visited_rooms[empty_room_number] = empty_room_number + 1;
}
return answer;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment