-
290. Word Pattern릿코드(LEETCODE) 2020. 2. 7. 17:32반응형
https://leetcode.com/problems/word-pattern/
pattern 의 문자열과 str 의 문자열이 pattern 을 이루는지 확인하는 문제
올바른 경우
pattern str 판정 abba cat dog dog cat O aba cat dog cat O aabb cat cat dog dog O 틀린 경우
pattern str 판정 abba dog dog dog dog X aaa cat cat cat cat X Source
class Solution { public: bool wordPattern(string pattern, string str) { stringstream ss(str); vector<std::string> vstrings; string v; while ((ss >> v)) { vstrings.push_back(v); } if (pattern.size() != vstrings.size()) { return false; } map<char, string> m; for (int i = 0; i < pattern.size(); i++) { char code = pattern[i]; if (m.count(code) == false) { m[code] = vstrings[i]; } else { string cand = m[code]; if (cand == vstrings[i]) { continue; } else { return false; } } } map<char, string>::iterator it = m.begin(); string cand = it->second; it++; while (it != m.end()) { if (cand == it->second) { return false; } cand = it->second; it++; } return true; } };
반응형'릿코드(LEETCODE)' 카테고리의 다른 글
198. House Robber (0) 2020.02.08 66. Plus One (0) 2020.02.07 258. Add Digits (0) 2020.02.07 1317. Convert Integer to the Sum of Two No-Zero Integers (2) 2020.02.07 383. Ransom Note (2) 2020.02.07