회문(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하여 비교할 수도 있다.

회문 문자열 풀이 방법

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글