

-Code
import java.util.Scanner;
public class BOJ25501 {
static int cnt;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
String line = sc.next();
// cnt 초기화
cnt = 0;
int isPalin = isPalindrome(line, 0, line.length() - 1);
System.out.println(isPalin + " " + cnt);
}
}
private static int isPalindrome(String str, int left, int right) {
cnt++;
// 왼쪽 idx가 오른쪽 idx를 넘어가면 펠린드롬
if (left >= right) {
return 1;
}
// 왼쪽 단어와 오른쪽 단어가 다르면 0 반환
if (str.charAt(left) != str.charAt(right)) {
return 0;
}
// 왼쪽과 오른쪽을 중심으로 이동하면서 검사
return isPalindrome(str, left + 1, right - 1);
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 34998번 1, 2, 3, 많다! (0) | 2025.12.28 |
|---|---|
| [백준/Java] 24060번 알고리즘 수업 - 병합 정렬 1 (1) | 2025.12.27 |
| [백준/Java] 10870번 피보나치 수 5 (0) | 2025.12.27 |
| [백준/Java] 27433번 팩토리얼 2 (0) | 2025.12.27 |
| [백준/Java] 20920번 영단어 암기는 괴로워 (0) | 2025.12.27 |