일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gradle
- 젠킨스
- 2020 KAKAO BLIND RECRUITMENT
- 2019 KAKAO BLIND RECRUITMENT
- c++
- 2018 카카오 공채
- CS 스터디
- set
- dfs
- 삼성 SW 역량테스트
- 자바
- 2018 카카오
- 비트마스크
- 2018 KAKAO BLIND RECRUITMENT
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 부스트코스
- Baekjoon
- Java
- 2019 카카오 공채
- 알고리즘
- map
- 백준
- 카카오 공채
- 카카오
- 삼성 SW 기출문제
- 프로그래머스
- 2018 KAKAO BLIND RECRUITMENT 1차
- 2020 카카오 공채
- gcp
- bfs
- Today
- Total
목록2019 카카오 개발자 겨울 인턴십 코딩테스트 (5)
아무코딩
문제풀이 이진 탐색을 활용한 문제 개인적으로는 아이디어 구현까지 나름 모의 코테 문제 중에서는 가장 시간을 많이 투자한 문제였습니다. 이진 탐색의 마지막 처리가 헷갈려 시간을 좀 쏟았습니다. 문제 범위 때문에 순차적으로 하나씩 제쳐나가면 시간 초과가 뜨기 때문에 이진 탐색을 활용해야 됩니다. 소스코드 더보기 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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 #include #include #include #define STONE_MAX_VAL 20000000..
문제풀이 실제 모의 코테를 칠 때 알고리즘 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 4..
문제풀이 범위가 작아 완탐이 가능한 문제입니다. dfs를 사용하였고 문제에 제재 아이디 목록들을 구했을 때 아이디들이 나열된 순서와 관계없이 아이디 목록의 내용이 동일하다면 같은 것으로 처리하여 하나로 세면 됩니다. 라는 부분을 보고 중복방지와 순서가 필요없다는 부분에서 set이 생각나 set을 사용하였습니다. 아이디 목록도 set 그 목록자체의 목록도 set으로 구성하여 이중 set을 사용하였습니다. 소스코드 더보기 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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ..
문제풀이 코딩 테스트에 자주 사용되는 string_tokenize를 사용하는 문제입니다. 그리고 분리한 배열들의 순서를 정하는 아이디어는 길이를 이용하여 소팅하는 방법을 이용하였습니다. 문제자체는 어렵지 않지만 이미 만들어본 string_tokenize를 적용하려다보니 1,2,3문제중에서는 가장 좀 지저분하게 풀었고 시간을 쓴 문제였습니다. 소스코드 더보기 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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69..
문제풀이 출제의도는 스택 같으나 성질이 비슷한 vector를 이용하였습니다. 소스코드 더보기 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 41 42 43 44 45 46 #include #include using namespace std; vector box; vector basket; int cnt = 0; void moveCrain(int idx) { if (box[idx].size() > 0) { basket.push_back(box[idx][box[idx].size() - 1]); box[idx].pop_back(); } else return; ..