[백준] 25501 재귀의 귀재
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();
}
}