반응형
https://leetcode.com/problems/reverse-vowels-of-a-string/description/
문자열 구현 문제였습니다.
📕 풀이방법
📔 풀이과정
1. two pointer로 해결 가능합니다. left, right를 선언해 문자열의 양쪽에서 시작해줍니다.
2. 양쪽 모두 모음이라면 left를 오른쪽으로 right를 왼쪽으로 옮겨줍니다.
어느 한쪽이 모음이면 left나 right에 해당하는 pivot을 옮겨 줍니다.
📕 Code
📔 C++
class Solution {
public:
bool isVowel(char c){
char toLower = tolower(c);
return toLower == 'a' || toLower == 'e' || toLower == 'i' || toLower == 'o' || toLower == 'u';
}
string reverseVowels(string s) {
int left = 0;
int right = s.size() - 1;
while (left < right) {
if(isVowel(s[left]) && isVowel(s[right])) {
swap(s[left], s[right]);
left++, right--;
continue;
}
if(!isVowel(s[left])) left++;
if(!isVowel(s[right])) right--;
}
return s;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > String' 카테고리의 다른 글
(C++) - LeetCode (easy) 412. Fizz Buzz (0) | 2023.03.10 |
---|---|
(C++) - LeetCode (easy) 28. Find the Index of the First Occurrence in a String (0) | 2023.03.08 |
(C++) - LeetCode (easy) 344. Reverse String (0) | 2023.02.16 |
(C++) - LeetCode (easy) 290. Word Pattern (0) | 2023.02.07 |
(C++) - LeetCode (easy) 125. Valid Palindrome (0) | 2022.11.30 |