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().toUpperCase().toCharArray();

        int i=0;
        int j=arr.length-1;
        String answer = "YES";

        while(i<j){
            if(!Character.isAlphabetic(arr[i])){
                i++;
            }else if (!Character.isAlphabetic(arr[j])) {
                j--;
            }else if(arr[i] == arr[j]){ // 두 문자값이 일치하는 경우
                i++;
                j--;
            }else{ // 두 문자값이 일치하지 않는 경우
                answer = "NO";
                break;
            }
        }

        bw.write(answer);
        bw.flush();
        br.close();
        bw.close();

    }
}

 

 

 

✅ 문자열 정규식 

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));

        String answer="NO";

        // 문자열 정규식(A-Z가 아닌 것들을 전부 빈 문자로 대체)
        String str= br.readLine().toUpperCase().replaceAll("[^A-Z]","");
        String str_reverse=new StringBuilder(str).reverse().toString();

        // 두 문자열이 같은지 비교
        if(str.equals(str_reverse)){
            answer = "YES";
        }

        bw.write(answer);
        bw.flush();
        bw.close();
        br.close();


    }
}

+ Recent posts