알고리즘 문제풀이 - String(문자열) :: 5. 특정 문자 뒤집기

dahee·2022년 2월 21일
0

🔍 Algorithm

목록 보기
5/8

문제

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

입력

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

출력

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

예시 입력 1

a#b!GE*T@S

예시 출력 1

S#T!EG*b@a

🎇 Solution.java

import java.util.*;
  
class Main {
  
  public 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++;
        else if(!Character.isAlphabetic(s[rt])) rt--;
        else {
            char tmp = s[lt];
            s[lt] = s[rt];
            s[rt] = tmp;
            lt++;
            rt--;
        }
    }
    
    answer = String.valueOf(s);
    
    return answer;
  }
  
  public static void main(String[] args){
    Main T = new Main();
    
    Scanner kb = new Scanner(System.in);
    String str = kb.next();
    
    System.out.print(T.solution(str));

  }
}

💭 정리

str.toCharArray() -> 문자열을 Char 타입의 배열로 변환
Character.isAlphabetic(s) -> 값이 영문자인지 확인
++ 한글 자음, 모음 모두 포함하여 true
String.valueOf(s) -> 값을 String 문자열로 변환
profile
왕!!!! 왕!!!! 왕!!초보 🐶발자

0개의 댓글