-
LEETCODE - 1461. Check If a String Contains All Binary Codes of Size K릿코드(LEETCODE) 2020. 6. 7. 20:17반응형
https://leetcode.com/problems/check-if-a-string-contains-all-binary-codes-of-size-k/
해당문제는 k 개의 이진 문자를 만드는 것이 키포인트이다.
k의 값이 2 일때 2^2 임으로 총 4개의 이진 문자를 만들 수 있다.
k의 값이 1 일때 2^1 = 2
class Solution { public: bool hasAllCodes(string s, int k) { if (k > s.length()) return false; unordered_map<string, int>mp; for (int i = 0; i < s.length()-k+1; i++) mp[s.substr(i, k)]++; return mp.size() == pow(2, k); } };
모두다 만들고 k의 값과 비교 한다. 그러면 심플하다.
또한 중복된 문자열이 있으니 map 사용하여서 넣자.
일일히 중복체크할 필요없다.
반응형'릿코드(LEETCODE)' 카테고리의 다른 글
LEETCODE - 1415. The k-th Lexicographical String of All Happy Strings of Length n (0) 2020.06.07 LEETCODE - 1089. Duplicate Zeros (0) 2020.06.07 LEETCODE - 1470. Shuffle the Array (0) 2020.06.07 biweekly Contest 25 (0) 2020.05.05 weekly-contest-187 (0) 2020.05.05