본문 바로가기

WEB/Algorithm

백준 25501

https://www.acmicpc.net/problem/25501

 

25501번: 재귀의 귀재

각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다.

www.acmicpc.net

 

<문제요약>

팰린드롬 문제

팰린드롬 여부와 재귀 횟수를 출력

 

<문제 풀이>

package baekjoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class P25501 {
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        int T=Integer.parseInt(br.readLine());

        while (T-->0){
            String s= br.readLine();
            System.out.println(isPalindrome(s)+" "+cnt);
        }

    }

    static int cnt=0;
    public static int recursion(String s,int l,int r){
        cnt++;
        if(l>=r) return 1;
        else if(s.charAt(l)!=s.charAt(r)) return 0;
        else return recursion(s,l+1,r-1);
    }

    public static int isPalindrome(String s){
        cnt=0;
        return recursion(s,0,s.length()-1);
    }
}

 

친절하게도 문제에서 recursion 함수와 isPalindrome 함수를 알려줬다

그냥 변수 cnt만 추가해주면 되는 문제

 

 

 

팰린드롬 문제가 알고리즘 문제로 종종 출제 되는데

앞으로 이렇게 풀어야겠다 ..

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

백준 15651  (0) 2023.11.24
백준 24060  (1) 2023.11.22
백준 27433  (1) 2023.11.22
백준 1037  (0) 2023.11.21
백준 26069  (1) 2023.11.21