반응형
https://leetcode.com/problems/greatest-common-divisor-of-strings/description/
전수조사 문제였습니다.
📕 풀이방법
📔 풀이과정
str2의 부분 문자열을 구해 str1, str2로 나눠지는지 여부를 판별하고 나누어 진다면 더 큰 size를 저장해줍니다.
📕 Code
📔 C++
class Solution {
public:
bool isDivisorString(string str, string piv){
for(int i = 0; i < str.size(); i += piv.size()) {
string sub = str.substr(i, piv.size());
if(sub != piv) return false;
}
return true;
}
string gcdOfStrings(string str1, string str2) {
string ans = "";
for(int i = 0; i < str2.size(); i++) {
string subStr2 = str2.substr(i);
int isDivisor = 1;
isDivisor = min(isDivisorString(str1, subStr2), isDivisorString(str2, subStr2));
if(isDivisor && ans.size() < subStr2.size())
ans = subStr2;
}
return ans;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - LeetCode (easy) 350. Intersection of Two Arrays II (0) | 2023.02.22 |
---|---|
(C++) - LeetCode (easy) 349. Intersection of Two Arrays (0) | 2023.02.21 |
(C++) - LeetCode (easy) 268. Missing Number (0) | 2023.01.27 |
(C++) - LeetCode (easy) 27. Remove Element (0) | 2022.10.26 |
(C++) - LeetCode (easy) 14. Longest Common Prefix (1) | 2022.10.13 |