일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 2018 카카오
- 2020 KAKAO BLIND RECRUITMENT
- 젠킨스
- 2019 카카오 공채
- bfs
- Java
- Baekjoon
- 알고리즘
- 프로그래머스
- c++
- 2018 KAKAO BLIND RECRUITMENT 1차
- dfs
- 자바
- 백준
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 부스트코스
- CS 스터디
- 2018 KAKAO BLIND RECRUITMENT
- 2018 카카오 공채
- map
- gcp
- set
- gradle
- 2020 카카오 공채
- 삼성 SW 역량테스트
- 카카오
- 비트마스크
- 2019 KAKAO BLIND RECRUITMENT
- 삼성 SW 기출문제
- 카카오 공채
Archives
- Today
- Total
아무코딩
[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제4. 호텔 방 배정 본문
문제풀이
실제 모의 코테를 칠 때 알고리즘 2 수업시간에 한번 다뤘던 스케쥴링이 생각났다.
스케쥴링 문제는 UnionFind를 활용한 문제였는데 Collapsing Find는 그대로 사용했지만 Weighted Union 말고 바로 다음 방을 골라야 되기 때문에 사용하지 않았다.
Collapsing Find에서는 부모를 찾고 부모를 맵핑시켜주는 것이 가장 중요하다.
이를 이용하면 그저 간단하게 문제를 풀 수 있다.
효율성 문제인 거 같아서 쫄았지만 생각보다 앞 문제보다도 간단하게 풀었던 것 같다.
소스코드
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include <string>
#include <vector>
#include <map>
#include <iostream>
using namespace std;
map<long long, long long> mapper;
vector<long long> result;
long long wu[200001];
long long col_find(long long num) {
//없을때
long long pos;
for (long long i = num; i != pos;) {
long long t = mapper[i];
mapper[i] = pos;
i = t;
}
return pos;
}
vector<long long> solution(long long k, vector<long long> room_number) {
for (long long i = 0; i < room_number.size(); i++) {
long long pos = col_find(room_number[i]);
result.push_back(pos);
mapper[pos] = pos+1;
}
return result;
}
int main() {
vector<long long> result = solution(10, { 1,3,4,1,3,1 });
for (int i = 0; i < result.size(); i++) {
cout << result[i] << endl;
}
}
|
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/64063
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 level2] 조이스틱 (0) | 2020.04.04 |
---|---|
[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제5. 징검다리 건너기 (0) | 2020.04.03 |
[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제3. 불량 사용자 (0) | 2020.04.03 |
[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제2. 튜플 (0) | 2020.04.03 |
[2019 카카오 개발자 겨울 인턴십 코딩테스트] 문제1. 크레인 인형뽑기 게임 (0) | 2020.04.03 |
Comments