[ 다먹살 ]/- Coding

[백준] 25501 재귀의 귀재

엉망으로살기 2022. 9. 16. 10:35
반응형

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

 

25501번: 재귀의 귀재

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

www.acmicpc.net

 

정말 오랜만에 코딩 연습을 해보는것 같다. 이 문제는 재귀에 대한 개념을 묻는 문제이고, 특히 문제 자체에 팰린드롬을 체크하는 함수가 아예 코드로 들어있어서 조금 수정만 하면 되는 기본 문제였다.

 


문제

 


예제 및 입출력


코드

import java.util.Scanner;

public class Main
{
    public static int[] recursion(String s, int left, int right, int cnt)
    {
        if(left>=right)
        {
            return new int[]{1, cnt};
        }
        else if(s.charAt(left)!=s.charAt(right))
        {
            return new int[]{0, cnt};
        }
        else
        {
            return recursion(s, left+1, right-1, cnt+1);
        }
    }
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        int[] result = new int[2];
        String buffer = sc.nextLine();
        StringBuilder sb = new StringBuilder();
        
        for(int i=0; i<t; i++)
        {
            String input = sc.nextLine();
            result = recursion(input, 0, input.length()-1, 1);
            
            for(int d : result)
            {
                sb.append(d + " ");
            }
            
            sb.append("\n");
        }
        
        System.out.println(sb.substring(0, sb.length()-1).toString());
        sc.close();
    }
}

 

반응형