String_특정 문자 뒤집기_ofValue, isAlphabetic
✅ 영어 알파벳과 특수문자로 구성된 문자열이 주어졌을 때 알파벳만 뒤집고, 특수문자는 그대로 둔다.
단, 특수문자이면 그 다음 인덱스와 바꿈
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Main {
public String solution(String str){
String answer;
char[] charArr= str.toCharArray();
int lt= 0;
int rt= str.length()-1;
while(lt < rt){
char l = charArr[lt];
char r= charArr[rt];
if(!Character.isAlphabetic(l)){
lt++;
} else if (!Character.isAlphabetic(r)) {
rt--;
}else{
charArr[lt] = r;
charArr[rt] = l;
lt++;
rt--;
}
}
String tmp= String.valueOf(charArr);
answer= tmp;
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc= new Scanner(System.in);
String str= sc.nextLine();
System.out.println(T.solution(str));
}
}
//⭐️input:
//a#b!GE*T@S
//⭐️output:
//S#T!EG*b@a
🔵 ThingsILearned
✔️ Character.isAlphabetic(l)
알파벳인지 아닌지 확인하기
ascii 코드는 오류날 가능성이 많고, 코드도 길다.
하지만 ascii 코드로 알파벳인지 확인하는 코드
1
2
3
4
if(((int) l >= 97 && (int) l <= 122) || ((int) l >= 65 && (int) l <= 90) ){
charArr[lt] = charArr[rt];
charArr[rt] = l;
}
This post is licensed under CC BY 4.0 by the author.