본문 바로가기
IT 공부/알고리즘

[JAVA] 특정 문자 뒤집기(toCharArray)

by 해모해모 2024. 1. 10.
728x90
반응형

[문제]
영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,
특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성

[입력]
첫 줄에는 길이가 100을 넘지 않는 문자열

[출력]
첫 줄에 알파벳만 뒤집힌 문자열을 출력

[입력 예시]
a#b!GE*T@S

[출력 예시]
S#T!EG*b@a
풀이
import java.util.*;
  
public class Main {
    public String solution(String str){
        String answer;
        char[] s = str.toCharArray();
        int lt = 0, rt = str.length()-1;
        while(lt<rt){
          if(!Character.isAlphabetic(s[lt])){
            lt++;
          }else if(!Character.isAlphabetic(s[rt])){
            rt--;
          }else{
            char temp = s[lt];
            s[lt] = s[rt];
            s[rt] = temp;
            lt++;
            rt--;
          }
        }
        answer = String.valueOf(s);

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

    }
}
728x90
반응형

댓글