알고리즘/자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
1-5 특정 문자 뒤집기
보름달빵
2025. 4. 9. 16:13
✅Character.isAlphabetic
package 섹션1_String;
import java.io.*;
public class 특정문자뒤집기 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
char[] arr= br.readLine().toCharArray();
int l=0;
int r=arr.length-1;
while(l<r){
if(Character.isAlphabetic(arr[l]) && Character.isAlphabetic(arr[r])){
char temp=arr[l];
arr[l]=arr[r];
arr[r]=temp;
l++;
r--;
} else if (Character.isAlphabetic(arr[l])) {
r--;
} else if(Character.isAlphabetic(arr[r])){
l++;
}else{
l++;
r--;
}
}
bw.write(String.valueOf(arr));
bw.flush();
br.close();
bw.close();
}
}
📌중요한 코드
if~else if~else 구조에서 "어떤 조건으로 구분"을 해야 식을 더 간단하게 작성할 수 있을지 고민해보기
while(l<r){
if(!Character.isAlphabetic(arr[l])){ // l-> 특수문자인 경우
l++;
} else if(!Character.isAlphabetic(arr[r])){ // r -> 특수문자인 경우
r--;
}else{
char temp=arr[l];
arr[l]=arr[r];
arr[r]=temp;
l++;
r--;
}
}