Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

ultra_dev

문자열.유효한 팰린드롬 본문

알고리즘

문자열.유효한 팰린드롬

ultra_dev 2023. 1. 12. 01:32

8. 유효한 팰린드롬

설명

앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다.

문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요.

단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다.

알파벳 이외의 문자들의 무시합니다.

입력

첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.

출력

첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력합니다.

예시 입력 1

found7, time: study; Yduts; emit, 7Dnuof

예시 출력 1

YES

📌replaceAll과 정규표현식

import java.util.Scanner;

class Main {
    public String solution(String str) {

        String answer = "NO";

        //replace는 정규식 못쓰지만 replaceAll에는 쓸 수 있음
        //^가 부정이기 때문에 "[^A-Z]"라고 쓰면 A-Z가 아니면 이라는 뜻
        //즉 알파벳 대문자가 아니면 빈문자로 바꿔라 이런뜻

        str = str.toUpperCase().replaceAll("[^A-Z]","");
        String strB = new StringBuilder(str).reverse().toString();
        if (str.equals(strB)) answer = "YES";
        return answer;
    }



        public static void main (String[]args){
            Main T = new Main();
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine();
            System.out.println(T.solution(str));
        }
    }

'알고리즘' 카테고리의 다른 글

문자열.가장 짧은 문자거리  (0) 2023.01.12
문자열. 숫자만 추출  (0) 2023.01.12
문자열.문장 속 단어(indexOf(),substring())  (0) 2023.01.12
문자열.단어뒤집기  (0) 2023.01.12
문자열.회문문자열  (0) 2023.01.12
Comments