728x90

문제 설명

 

 

import java.util.Scanner;

public class EffectivePalindrome {
    public static String solution(String s) {
        String answer = "NO";
        s = s.toUpperCase().replaceAll("[^A-Z]", "");
        String temp = new StringBuilder(s).reverse().toString();

        if (s.equals(temp)) {
            answer = "YES";
        }
        return answer;
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        System.out.println(solution(s));
    }
}

 

 

  1. 먼저 Scanner 의 nextLine을 사용해 한문장 전체를 s 라는 변수에 입력 받습니다.
  2. answer 라는 변수를 선언
  3. s 라는 문자열 변수를 모두 대문자로 치환 후 정규식으로 사용하여 알파벳 A ~ Z 가 아닌것은 모두 ""로 replace 합니다.
  4. temp 라는 변수명에 reverse 된 문자열을 임시로 저장
  5. s 문자열과 temp 를 비교
    • 문자열 끼리 비교할때는 java에서는 equals를 사용해야합니다.
  6. answer를 리턴
728x90