


미리 만들어진 매소드를 이용하는거라, 문제가 좀 길다. 그래도 친절하게 메이저 언어들은 매소드를 다 만들어줬다. 하긴 그러지 않으면 재귀 문제라 하기엔 너무 넓은 문제가 되버리니...
펠린드롬 여부는 이미 생성된 매소드가 알아서 잘 판별하지만, 언제쯤부터 판단하는지를 알기 위해 재귀를 써야하는 경우다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static int[] recursion(String s, int l, int r, int count){
count++;
if(l >= r) {
int[] result = new int[2];
result[0] = 1;
result[1] = count;
return result;
} else if(s.charAt(l) != s.charAt(r)) {
int[] result = new int[2];
result[0] = 0;
result[1] = count;
return result;
}
else return recursion(s, l+1, r-1, count);
}
public static int[] isPalindrome(String s){
return recursion(s, 0, s.length()-1, 0);
}
public static void main(String[] args) throws NumberFormatException, IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[] str = new String[n];
for (int i=0; i<n; i++) {
str[i] = br.readLine();
System.out.println(isPalindrome(str[i])[0] + " " + isPalindrome(str[i])[1]);
}
}
}'백준 문제풀이' 카테고리의 다른 글
| 2448. 별 찍기 - 11 (자바, Java) (0) | 2022.10.01 |
|---|---|
| 2447. 별 찍기 - 10 (자바, Java) (0) | 2022.10.01 |
| 17478. 재귀함수가 뭔가요? (자바, Java) (0) | 2022.10.01 |
| 10870번 : 피보나치 수 5 (자바, Java) (0) | 2022.10.01 |
| 10872. 팩토리얼 (자바, Java) (0) | 2022.10.01 |