반응형
https://leetcode.com/problems/determine-if-string-halves-are-alike/
문자열을 다뤄본 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 모음의 개수를 반환하는 countVowel함수를 구현해줍니다. 1-1. 문자열 s의 원소를 순회하며 소문자로 치환된 결과가 모음인 문자들의 개수를 cnt에 세어 저장한 후 반환합니다.
📔 풀이과정
s의 길이는 짝수이며 같은 길이면서 모음의 개수가 같아야 하므로 문자열 a, b는 s.size() / 2만큼의 길이를 가지는 하나의 경우만을 가집니다. half size만큼 문자열을 잘라 a, b에 왼편과 오른편을 각각 저장해 줍니다.
📔 정답 출력 | 반환
countVowel의 결과가 같은지 여부를 반환합니다.
📕 Code
📔 C++
class Solution {
public:
int countVowel(string s) {
int cnt = 0;
for(auto el : s) {
char c = tolower(el);
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') cnt++;
}
return cnt;
}
bool halvesAreAlike(string s) {
int halfSize = s.size() / 2;
string a = s.substr(0, halfSize);
string b = s.substr(halfSize);
return countVowel(a) == countVowel(b);
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > String' 카테고리의 다른 글
(C++) - LeetCode (easy) 1768. Merge Strings Alternately (0) | 2024.07.24 |
---|---|
(C++) - LeetCode (easy) 1736. Latest Time by Replacing Hidden Digits (0) | 2024.07.09 |
(C++) - LeetCode (easy) 1694. Reformat Phone Number (0) | 2024.06.13 |
(C++) - LeetCode (easy) 1684. Count the Number of Consistent Strings (0) | 2024.06.09 |
(C++) - LeetCode (easy) 1662. Check If Two String Arrays are Equivalent (0) | 2024.05.29 |