알고리즘/JAVA
[JAVA] 7. 회문 문자열
수진보배
2021. 4. 14. 01:34
728x90
설명
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.
문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요.
단 회문을 검사할 때 대소문자를 구분하지 않습니다.
예시 입력 1
gooG
예시 출력 1
YES
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String input = in.next().toLowerCase();
String answer = "YES";
int len = input.length();
for( int i=0; i<len/2; i++ ) {
// len - i -1 == 마지막 인덱스
if(input.charAt(i) != input.charAt(len-i-1)){
return "NO";
}
}
System.out.println(answer);
}
}
다른 풀이 - StringBuilder
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String input = in.next();
String answer = "NO";
String tmp = new StringBuilder(input).reverse().toString();
// 대소문자 구문없이 같은지 확인
if( input.equalsIgnoreCase(tmp)) {
return "YES";
}
System.out.println(answer);
}
}
728x90