문제
https://leetcode.com/problems/reverse-vowels-of-a-string/?envType=study-plan-v2&envId=leetcode-75
코드
class Solution {
private Boolean isVowel(char c){
return c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='A' || c=='E' || c=='I' || c=='O' || c=='U';
}
public String reverseVowels(String s) {
// 스택 형식으로 모음을 담으면 뒤집어서 반환가능
Stack<Character> vowels = new Stack<>();
// 반환 문자열 생성시 필요한 StringBuilder객체
StringBuilder result = new StringBuilder();
// 1. 주어진 문자열에서 모음을 찾아 스택에 push
for(int i=0; i< s.length(); i++){
if(isVowel(s.charAt(i))){
vowels.push(s.charAt(i));
}
}
// 2. 다시 주어진 문자열에 모음일 경우 스택에 있는 값으로 아닌경우 기존 문자로
for(int i=0; i< s.length(); i++){
if(isVowel(s.charAt(i))){
result.append(vowels.pop());
}else{
result.append(s.charAt(i));
}
}
return result.toString();
}
}
'코테 > 자료구조' 카테고리의 다른 글
[2023 KAKAO 개인정보 수집 유효기간] - HashMap, List, Array (1) | 2024.02.08 |
---|---|
[leetcode 328. Odd Even Linked List 홀수 짝수 연결 리스트] - LinkedList (0) | 2024.02.08 |
[leetcode 20. Valid Parentheses 유효한 괄호] - Stack (0) | 2024.02.08 |
[leetCode 2352. Equal Row and Column Pairs, 동일한 행과 열 쌍] - HashMap (1) | 2024.02.08 |
[ Heap / 힙 ] - 이중우선순위큐(우선순위 큐) (0) | 2023.12.21 |