프로그래머스알고리즘
-
크레인 인형뽑기 게임프로그래머스알고리즘 2021. 3. 17. 18:54
board 배열 [00000] [00103] [02501] [42442] [35131] moves 배열 [1,5,3,5,1,2,1,4] 1.board 배열을 순회하면서 값이 있는 배열을(0이 아닌값) 찾음 board[1,2,3,4,5][1] board[1,2,3,4,5][5] board[1,2,3,4,5][3] board[1,2,3,4,5][5] board[1,2,3,4,5][1] board[1,2,3,4,5][2] board[1,2,3,4,5][1] board[1,2,3,4,5][4] 2.값을 찾으면 tmp vector에 순차적으로 적재를 해준다. 이때 적재를 한 후 현재 vector전의 값과 현재 값이 같다면 erase 사용하여 값 2개 삭제 - > answer +2 3.board배열에서 찾았던 값은..
-
k번째 정수프로그래머스알고리즘 2021. 3. 12. 00:35
#include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for (int i = 0; i < commands.size(); i++) { vector test; for (int j = commands[i][0] - 1; j < commands[i][1]; j++) test.push_back(array[j]); sort(test.begin(), test.end()); answer.push_back(test[commands[i][2] - 1]); } return answer; }
-
가장 큰수(정렬)프로그래머스알고리즘 2021. 3. 10. 23:19
#include #include #include #include using namespace std; int compare(int a, int b)//앞 뒤 숫자를 더한것의 내림차순으로 정렬하기위해 함수 구현 { string A = to_string(a) + to_string(b); string B = to_string(b) + to_string(a); return A > B; } string solution(vector numbers) { string answer = ""; sort(numbers.begin(), numbers.end(), compare); for (int i = 0; i < numbers.size(); i++) { answer = answer + to_string(numbers[i])..
-
위장프로그래머스알고리즘 2020. 10. 1. 20:00
#include #include #include using namespace std; int solution(vector clothes) { int answer = 0; map arr; int result = 1; for (int i = 0; i < clothes.size(); i++) { arr[clothes[i][1]]++; } for (auto p : arr) { result = (p.second + 1) * result; } answer = result -1; return answer; } 1.각 (벡터배열[i][1])key 의 value값을 1씩 증가한다. 즉 각 유형의 옷의 갯수를 구하는 식이다. 2.arr map의 각 value에 1을 더한후 모든 value를 곱한후 1(아무것도 안입은 경우..
-
완주하지 못한 선수 hash map 사용프로그래머스알고리즘 2020. 10. 1. 16:33
#include #include #include #include using namespace std; string solution(vector participant, vector completion) { unordered_map strMap; for (auto elem : participant) { strMap[elem]++; } for (auto elem : completion) { strMap[elem]--; } for (auto p : strMap) { if (p.second > 0) { return p.first; } } } 순차적으로 participant의 데이터를 map에 적재합니다. participant의 값이 "a" , "b" , "c" 일 경우 a 1 b 1 c 1 이렇게 map의 key..