앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.
문자열이 입력되면 해당 문자열이 회문 문자열이면 "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하여 비교할 수도 있다.
회문 문자열 풀이 방법