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