WEB/Algorithm
백준 25501
hwahaha
2023. 11. 22. 11:48
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만 추가해주면 되는 문제
팰린드롬 문제가 알고리즘 문제로 종종 출제 되는데
앞으로 이렇게 풀어야겠다 ..