-
[Algorithm] 프로그래머스 할인행사 - C++, unordered_map쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 10. 11. 17:06반응형
#include <string> #include <vector> #include <unordered_map> using namespace std; int solution(vector<string> want, vector<int> number, vector<string> discount) { int answer = 0; unordered_map<string, int> wantMap; for(int i = 0; i < number.size(); i++) wantMap.insert({want[i], number[i]}); for(int i = 0; i <= discount.size() - 10; i++){ unordered_map<string, int> martDiscount; for(int j = i; j < i + 10; j++){ martDiscount[discount[j]] += 1; } if(martDiscount == wantMap) answer++; } return answer; }
'아니 이게 되네?' 같은 풀이가 되는 문제입니다. 처음에는 슬라이딩 윈도우처럼 큐를 이용해서 풀이를 해야 하나 싶었지만 want에 맞는 변수들을 설정해준다는게 힘들어 보였고 때문에 unordered_map으로 해시맵을 만들어 여기에 '물건, 원하는 수량' 을 저장한 후 10일 단위로 마트 할인행사를 저장해서 풀이를 하게 되었습니다.
unordered_map끼리 operator ==이 허용된다는걸 알게 된 문제네요.
반응형'쾌락없는 책임 (공부) > 알고리즘 문제풀이' 카테고리의 다른 글
[Algorithm] 프로그래머스 옹알이 - C++ (0) 2022.10.13 [Algorithm] 백준 2468 안전 영역 - C++, DFS, BFS (1) 2022.10.11 [Algorithm] 백준 16929 Two Dots - C++, DFS (0) 2022.10.06 [Algorithm] 백준 2251 물통 - C++, BFS (1) 2022.10.05 [Algorithm] 백준 3078 좋은 친구 - C++, deque (0) 2022.09.29