[JAVA] 5. 특정 문자 뒤집기

2021. 4. 14. 01:18
728x90

설명

 

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

 

예시 입력 1 

a#b!GE*T@S

 

예시 출력 1

S#T!EG*b@a

 

풀이

 

import java.util.Scanner;
  
public class Main {

  public static void main(String[] args){
  
    Scanner in=new Scanner(System.in);
    
    String input = in.next();
    char[] arr = input.toCharArray();
    
    int lt = 0;
    int rt = arr.length-1;
    
    while(lt < rt) {
    	char left = arr[lt];
        char right = arr[rt];
        
        // 문자가 소문자인지
        if(!Character.isAlphabetic(left)){
        	lt++;
        // 문자가 대문자인지
        } else if( !Character.isAlphabetic(right)){
  			rt--;
        }else {
        
        // 알파벳일때 교환
        	char tmp = arr[lt];
            arr[lt] = arr[rt];
            arr[rt] = tmp;
            
            lt ++;
            rt --;
        }
    }
    
    // char[]을 String 으로
    String answer = String.valueOf(arr);
    System.out.println(answer);
  }
}

 

 

728x90

'알고리즘 > JAVA' 카테고리의 다른 글

[JAVA] 7. 회문 문자열  (0) 2021.04.14
[JAVA] 6. 중복문자 제거  (0) 2021.04.14
[JAVA] 4. 단어 뒤집기  (0) 2021.04.14
[JAVA] 3. 문장 속 가장 긴 단어 찾기  (0) 2021.04.14
[JAVA] 2. 대소문자 변환  (1) 2021.04.14

BELATED ARTICLES

more