알고리즘/알고리즘 정리

회문 / 팰린드롬 (JAVA)

꾸준함 2023. 4. 1. 12:15

회문(回文) 또는 팰린드롬(palindrome)은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말 숫자, 문자열(sequence of characters) 등이다. 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시한다.

 


아래의 코드는 알파벳만 비교하여 회문인지 판별하는 코드이다.

-> replaceAll부분을 보면 [^A-Z] 라는 정규식이 있는데 이 정규식은 A~Z사이의 알파벳이 아니면(부정의 뜻) 을 의미한다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class inf_1_08 {
    static String solution(String str){
        String answer = "NO" ;
        str = str.toUpperCase().replaceAll("[^A-Z]","");
        String tmp = new StringBuilder(str).reverse().toString();
        if(str.equals(tmp))
            answer="YES";

        return answer;
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String s = br.readLine();
        System.out.println(solution(s));
    }
}