Skip to content

Commit 7ae6f07

Browse files
committed
🐜 Study: 호텔 방 배정 (#84)
1 parent 04290a5 commit 7ae6f07

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

ing-eoking/호텔 방 배정.cc

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#include <string>
2+
#include <vector>
3+
#include <map>
4+
#include <iostream>
5+
6+
using namespace std;
7+
8+
vector<long long> solution(long long k, vector<long long> room_number) {
9+
vector<long long> answer;
10+
map<long long, long long> m;
11+
m[-1] = -1;
12+
m[k+2] = k+2;
13+
for(long long num : room_number){
14+
auto piv = m.upper_bound(num);
15+
auto aft = piv--;
16+
if(piv->second + 1 >= num){
17+
piv->second++;
18+
answer.push_back(piv->second);
19+
if(piv->second + 1 == aft->first){
20+
piv->second = aft->second;
21+
m.erase(aft);
22+
}
23+
}
24+
else{
25+
answer.push_back(num);
26+
if(num + 1 == aft->first){
27+
long long temp = aft->second;
28+
m.erase(aft);
29+
m[num] = temp;
30+
}
31+
else m[num] = num;
32+
}
33+
34+
}
35+
36+
return answer;
37+
}

0 commit comments

Comments
 (0)