Coding Test Inflearn
[String] 회문 문자열
coding-orange
2024. 1. 28. 19:32
728x90
회문 문자열
설명
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.
문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요.
단 회문을 검사할 때 대소문자를 구분하지 않습니다.
입력
첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.
출력
첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다.
예시 입력
gooG
예시 출력
YES
풀이
1. answer 변수를 "NO" 로 정의한다.
2. StringBuilder를 이용해 입력받은 문자열을 뒤집고 String으로 만든다. StringBuilder 클래스의 reverse(), toString() 을 이용한다.
3. 입력받은 문자열과 뒤집은 문자열을 비교한다. 여기서, 대소문자 구분을 없애고 비교를 하기 위해 String 클래스의 equalsIgnoreCase() 을 이용한다. 두 문자열이 같다면 answer 변수를 "YES" 로 정의한다.
코드
package solve;
import java.util.Scanner;
public class Main_1_7 {
// 뒤집은 문자열과 원래 문자열 비교하기
public String solution(String str) {
String answer = "NO";
String tmp = new StringBuilder(str).reverse().toString();
if(str.equalsIgnoreCase(tmp)) { // 대소문자 구분 무시
answer = "YES";
}
return answer;
}
public static void main(String[] args) {
Main_1_7 T = new Main_1_7();
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println(T.solution(str));
}
}
728x90