회문(Palindrome) 확인

최준호·2021년 8월 3일
0

알고리즘 강의

목록 보기
4/79

설명

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

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

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

코드

public class Palindrome {
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        String input = in.next();
        String input1 = input.toLowerCase();

        char[] chars = input1.toCharArray();
        int start = 0;
        int end = chars.length-1;
        while(start<end){
            char temp = chars[start];
            chars[start] = chars[end];
            chars[end] = temp;
            start++;
            end--;
        }

        String input2 = String.valueOf(chars);

        String answer = input1.equals(input2) ? "YES" : "NO";
        System.out.println(answer);
    }
}

이 외 방법으로는 char의 아스키 코드 값의 차이를 이용하여 char를 비교하는 방법도 있고 StringBuilder를 reverse하여 비교할 수도 있다.

회문 문자열 풀이 방법

0개의 댓글

관련 채용 정보