코린이의 소소한 공부노트

[LeetCode/Easy] 345. Reverse Vowels of a String 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 345. Reverse Vowels of a String

무지맘 2023. 2. 6. 21:09

1. Input

1) String s

 

2. Output

1) 모음의 순서가 뒤집어진 문자열

 

3. Constraint

1) 1 <= s.length <= 3 * 10^5

2) s는 출력 가능한 아스키 문자들로 이루어져 있다.

 

4. Example

Input: s = "hello" -> Output: "holle"

Input: s = "leetcode" -> Output: "leotcede"

 

5. Code

1) 첫 코드(2023/02/06)

char[] c = s.toCharArray();
int index = c.length-1;
for(int i=0 ; i<=index ; i++){
    if(String.valueOf(c[i]).matches("[aeiouAEIOU]")){
        for(int j=index ; j>i ; j--){
            if(String.valueOf(c[j]).matches("[aeiouAEIOU]")){
                char tmp = c[j];
                c[j] = c[i];
                c[i] = tmp;
                index = j-1 ; break;
            }
        } // for j
    }
} // for i
return new String(c);

- 실행시간을 줄여보고싶은데, 아직 이렇다할 방법이 생각나지 않는다.