[백준] 10988번 팰린드롬인지 확인하기 Java 문제 풀이

2023. 3. 16. 12:02알고리즘/백준

728x90
반응형

문제풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

interface Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;
        String S = br.readLine();

        boolean result = isPalindrome(S, 0, S.length() - 1);
        if(result) {
            System.out.print(1);
        } else {
            System.out.print(0);
        }
    }

    public static boolean isPalindrome(String S, int start, int end) {
        boolean result = true;
        if(start <= end) {
            if(S.charAt(start) == S.charAt(end)) {
                result = isPalindrome(S, ++start, --end);
            } else {
                return false;
            }
        }
        return result;
    }
}

입력받은 문자가 대칭이면 참입니다.

 

처음 인덱스인 0과 마지막 인덱스인 S.length()-1부터 시작해서 글자가 같으면 계속 검사를 진행하고 같지 않으면 false를 리턴합니다.

 

 

 

 

 

출처 : https://www.acmicpc.net/problem/10988

 

10988번: 팰린드롬인지 확인하기

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

 

728x90
반응형