일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 유니온파인드
- BFS
- 코테
- Algorithm
- 서버개발캠프
- 카카오인턴
- 카카오
- LIS #Algorithm #요소추적
- IBK기업은행 #기업은행 #디지털 #직무 #정리
- c++
- 백준
- 알고리즘
- BaekJoon
- 식단
- Smilegate
- 삼성 #코테 #2020상반기 #c++
- 중반부
- 소감
- 보석쇼핑
- 1편
- 코딩테스트
- Union-find
- 스마일게이트
- 투포인터
- Today
- Total
목록Algorithm/카카오 기출 (17)
짱아의 개발 기록장
String으로 구현하면 되는 문제였다. 1~7단계까지 명시해준 조건의 내용을 그대로 구현해주면 되기 때문에 전혀 어려울 것이 없었다. 문자를 지우는 것은 모두 erase기능을 사용해서 지워주었다. 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 70 71 72 #include #include #include #include #include using namespace std; string solutio..
Bitmask + 조합을 활용해서 풀었다. 설명은 추후 추가 예정 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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 #incl..
Greedy + 완탐 문제이다. 투입될 친구의 수를 정하고 시작할 위치를 정한다. 그리고 시작할 위치에서 투입될 친구 수만큼을 투입하면 모든 취약 지점을 커버할 수 있는 지를 파악한다. 중요한 점은! 원형의 외벽이기 때문에 취약지점에 (weak.size()-1)만큼 원소를 더 넣어준다. ex) [1, 5, 6, 10] -> [1, 5, 6, 10, 13, 17, 18]이 된다. 그래야 이후에 계산을 할 때에 편하게 할 수 있다. 그리고 투입될 친구의 수를 1~dist_len까지 작은 수 부터 투입을 했기 때문에 그 수에서 바로 모든 취약지점이 커버된다면 바로 return i를 해주면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2..
문제에서 설명한 내용 그~~대로 구현하면 되는 간단한 문제였다. 다만, 여기서 말하는 균형잡힌 문자열을 구현하는 것이 약간 헷갈릴 수 있다. 그냥 문자열을 돌면서 열린 괄호와 닫힌 괄호의 수가 같은 지점까지가 u이고 나머지 부분은 v라고 생각하면 된다. 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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8..
1~size만큼 반복하면서, for(int i=0; i1){ ans += to_string(cnt); } ans += last; ans += s.substr(i, s.size()-i); } } return ans; } int solution(string s) { int answer = INT_MAX; for(int i=1; i
연산자의 종류를 exp벡터에 넣어주고, 연사자의 위치를 차례대로 location벡터에 넣어준다. 이후, next_permutation으로 exp벡터에 있는 연산자들의 우선순위의 경우 수를 구한다. do while문 안에서는 임시 벡터를 만들어서 우선순위에 해당되는 연산들은 먼저 계산을 해주고 없애고 하는 식으로 계산을 해준다. 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 #include #include #include #includ..
잘못된 테케를 넣는 바람에 괜히 시간을 날렸던 문제....^^ 그냥 원래 짰던 코드가 맞았던 건데 테케를 잘못 넣어서 괜히 시간 낭비를 해버렸다....으이ㅏ아아아 [메인 로직] 디딤돌에 적혀있는 숫자들 중 가장 작은 수와 큰 수를 기준값으로 정하고 이분탐색을 시작했다. mid값을 각 디딤돌에 적힌 수에서 빼고 돌다리를 건널 수 있는 지 여부를 판단했다. 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 #include #include #include using namespace std; int solution(vector stones, ..
bfs로 한 번에 풀 수 있는 문제였다. 다만, visited배열을 4차원 배열로 선언해서 x, y, dir, dir_num(지금까지 방향 전환한 수) 이렇게 4가지 값을 저장햇다. 코드 첨부(c++) 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 //2020 카카오인턴 #4번(bfs) //경주로 건설 #include #include #include #include #include #include using na..