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