[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 |