algorithm solving/general

회문 문자열

일상코더 2023. 2. 16. 16:48

회문 문자열

 

설명

 

앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.

문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요.

단 회문을 검사할 때 대소문자를 구분하지 않습니다.

 

입력

첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.

 

출력

첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다.

 

예시 입력 1 

gooG

 

예시 출력 1

YES

 

Prac8

public class Prac8 {
    public String solution(String str) {
        String answer = "YES";

        if(str.length() % 2 != 0){
            return "NO";
        }
        //대문자로 변환
        str = str.toUpperCase();

        //문자열을 문자배열로 변환
        char[] x = str.toCharArray();

        int lt = 0 , rt = str.length()-1;
        while (lt < rt) {
            if(x[lt] == x[rt]){
                ++lt;
                --rt;
            }else{
                return "NO";
            }
        }
        return answer;
    }
}

 

main

public class Main {
    public static void main(String[] args) {
        S7 s = new S7();
        Scanner sc = new Scanner(System.in);
        String str = sc.next();                 //GOog 입력
        System.out.println(s.solution(str));    //YES 출력
    }
}