PS(Java)/인프런 강의 문제

[PS] 인프런 강의 - 문자열 5. 특정 문자 뒤집기

UL :) 2022. 10. 10. 20:50

 

문제

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

 

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

 

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

 

▣ 입력예제 1
a#b!GE*T@S

 

▣ 출력예제 1
S#T!EG*b@a

 

풀이

단어 뒤집기

의 응용버전.

 

Character.isAlphabetic 함수 사용해서 풀면 된다.

 

코드

import java.util.Scanner;

public class Main {
 
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		char[] c = in.next().toCharArray();
		int lt=0, rt= c.length-1;
		while(lt < rt) {
			if(Character.isAlphabetic(c[lt]) && Character.isAlphabetic(c[rt])) {
				char tmp = c[lt];
				c[lt] = c[rt];
				c[rt] = tmp;
			}
			lt++;
			rt--;
		}
		
		System.out.println(String.valueOf(c));
    }
}