본문 바로가기
알고리즘/알고리즘 정리

회문 / 팰린드롬 (JAVA)

by 꾸준함 2023. 4. 1.

회문(回文) 또는 팰린드롬(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));
    }
}