[설명]

영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,

특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요.

[입력]

첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다.

[출력]

첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다.

[예시]

Untitled

Untitled

[문제 풀이]

import java.util.Scanner;

public class Main {
    private static String solution(String str) {
        String answer;
        char[] s = str.toCharArray();
        int lt = 0;
        int rt = str.length() - 1;

        while (lt < rt) {
            if (!Character.isAlphabetic(s[lt])) { // lt가 알파벳이 아닐 경우
                lt++;
            } else if (!Character.isAlphabetic(s[rt])) { // rt가 알파벳이 아닐 경우
                rt--;
            } else {
                char tmp = s[lt]; // 위치 바꾸기
                s[lt] = s[rt];
                s[rt] = tmp;
                lt++;
                rt--;
            }
        }
        answer = String.valueOf(s); // char 타입 배열을 문자열로 변경

        return answer;
    }

    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        String str = kb.next();
        System.out.println(solution(str));
    }
}