diff --git a/3606. Coupon Code Validator b/3606. Coupon Code Validator new file mode 100644 index 0000000..435540b --- /dev/null +++ b/3606. Coupon Code Validator @@ -0,0 +1,44 @@ +class Solution { +public: + vector validateCoupons(vector& code, + vector& businessLine, + vector& isActive) { + vector e, g, p, r; + + for (int i = 0; i < isActive.size(); i++) { + if (!isActive[i]) continue; + + string& bl = businessLine[i]; + if (bl != "electronics" && bl != "grocery" && + bl != "pharmacy" && bl != "restaurant") + continue; + + if (code[i].empty()) continue; + + bool ok = true; + for (char c : code[i]) { + if (!isalnum(c) && c != '_') { + ok = false; break; + } + } + if (!ok) continue; + + if (bl[0] == 'e') e.push_back(code[i]); + if (bl[0] == 'g') g.push_back(code[i]); + if (bl[0] == 'p') p.push_back(code[i]); + if (bl[0] == 'r') r.push_back(code[i]); + } + + sort(e.begin(), e.end()); + sort(g.begin(), g.end()); + sort(p.begin(), p.end()); + sort(r.begin(), r.end()); + + vector res; + res.insert(res.end(), e.begin(), e.end()); + res.insert(res.end(), g.begin(), g.end()); + res.insert(res.end(), p.begin(), p.end()); + res.insert(res.end(), r.begin(), r.end()); + return res; + } +};