코린이의 소소한 공부노트

[LeetCode/Easy] 917. Reverse Only Letters 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 917. Reverse Only Letters

무지맘 2023. 3. 31. 23:28

1. Input

1) String s

 

2. Output

1) s에서 알파벳만 순서를 뒤집은 결과를 반환

- 나머지 문자들은 제자리에 있어야 한다.

 

3. Constraint

1) 1 <= s.length <= 100

2) s에는 [33, 122]의 아스키 코드값을 가지는 문자만 있다.

3) s에는'\"''\\'는 없다.

 

4. Example

Input: s = "a-bC-dEf-ghIj" -> Output: "j-Ih-gfE-dCba"

 

5. Code

1) 첫 코드(2023/03/31)

char[] c = s.toCharArray();
int front=0, back=s.length()-1;
while(front<back){
    if(!Character.isAlphabetic((int)c[front])){
        front++; continue;
    }
    if(!Character.isAlphabetic((int)c[back])){
        back--; continue;
    }
    char tmp = c[front];
    c[front++] = c[back];
    c[back--] = tmp;
}
return new String(c);