Algorithm/inflearn

회문 문자열

마닐라 2021. 9. 4. 21:37

1. for문 사용

import java.util.Scanner;

class Main {
    public String solution(String str) {
        String answer = "YES";

        int len = str.length();

        str = str.toUpperCase();

        for(int i = 0; i < len/2; i++){
            if(str.charAt(i) != str.charAt(len-i-1)) return "NO";
        }
        //gooG일 때 len = 4, 2번만 확인해보면 됨 일단 대문자로 바꾸고
        //i = 0일 때 str.charAt(0) = str.charAt(4-0-1) true
        //i = 1일 때 str.charAt(1) = str.charAt(4-1-1) true
        //abcca일 때 len = 5, 이것도 2번만 확인해보면 됨
        //i = 0일 때 str.charAt(0) = str.charAt(5-0-1) true
        //i = 1일 때 str.charAt(1) = str.charAt(5-1-1) true
        //가운데는 안봐도 됨

        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);

        String str = kb.next();

        System.out.println(T.solution(str));



    }
}

 

2. reverse 사용

import java.util.Scanner;

class Main {
    public String solution(String str) {
        String answer = "YES";

        String tmp = new StringBuilder(str).reverse().toString();
        
        //equalsIgnoreCase -> 문자열 비교시 대소문자 관계없이 비교
        if(!str.equalsIgnoreCase(tmp)) return "NO"; 

        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);

        String str = kb.next();

        System.out.println(T.solution(str));



    }
}

'Algorithm > inflearn' 카테고리의 다른 글

숫자만 추출  (0) 2021.09.04
유효한 팰린드롬  (0) 2021.09.04
중복문자제거  (0) 2021.09.03
특정 문자 뒤집기  (0) 2021.09.03
단어 뒤집기  (0) 2021.09.03