728x90
반응형
▷ 문제
영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,
특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요.
* 입력
첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다.
* 출력
첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다.
▷ 입력 예시
a#b!GE*T@S
▷ 출력 예시
S#T!EG*b@a
▷ 풀이
import java.util.Scanner;
public class Main {
public String solution(String str){
String answer = "";
char[] cArr = str.toCharArray();
int lt = 0, rt = cArr.length-1;
while (lt < rt) {
if(!Character.isAlphabetic(cArr[lt])){
lt++;
} else if(!Character.isAlphabetic(cArr[rt])){
rt--;
} else{
char temp = cArr[rt];
cArr[rt] = cArr[lt];
cArr[lt] = temp;
lt++;
rt--;
}
}
answer = String.valueOf(cArr);
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.println(main.solution(str));
}
}
▷ 핵심 키워드
1. Char[]형 배열을 String,valueOf()의 인자로 넣어주면 문자열로 변환됩니다.
반응형
'Algorithm > String' 카테고리의 다른 글
[알고리즘]회문 문자열 - 입력 받은 문자열이 회문 문자인지 판단하기 (0) | 2021.10.10 |
---|---|
[알고리즘]중복문자 제거 - 입력 받은 문자열에서 중복된 문자 제거하기 (0) | 2021.10.09 |
[알고리즘]단어 뒤집기 - 입력받은 문자열 거꾸로 출력하기 (0) | 2021.10.09 |
[알고리즘]문장 속 단어 - 입력 받은 문장에서 가장 긴 단어 출력하기 (0) | 2021.10.09 |
[알고리즘]대소문자 변환 - 입력 받은 문자열의 대소문자 변환하기 (0) | 2021.10.09 |