class Main {
public String solution(String str) {
String answer = "NO";
str = str.toUpperCase().replaceAll("[^A-Z]", "");
String a = new StringBuilder(str).reverse().toString();
if(str.equals(a)) return "YES";
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.nextLine();
System.out.println(T.solution(str));
}
}
대,소문자 구분을 피하기 위해 toUpperCase로 전부 대문자로 바꿔준 후,
replaceAll("[^A-Z]","")을 통해 A-Z까지의 문자가 아닌것을 전부 ""로 바꿔준다.
StringBuilder로 뒤집힌 문자를 만들고 그 문자와 현재 문자를 비교하면 끝!
replaceAll("[^A-Z]","") 외우는것이 아닌 이해하기.
응용해보면 알파벳인것들도 모두 지울수 있고 숫자, 등등 도 전부 지울수 있다.
(이걸 왜 이제서야 공부했을까..)
++
equalsIgnoreCase()를 이용한 풀이법
public String solution(String str) {
String answer = "NO";
str = str.toUpperCase().replaceAll("[^A-Z]", "");
String a = new StringBuilder(str).reverse().toString();
if(str.equals(a)) return "YES";
return answer;
}