문제에 주어진 구현을 잘 따라한 후, 해당 함수가 몇 번 호출되며 어떤 결과를 내놓는지 출력하는 문제.
2022/09/09 기준으로 갑자기 재귀 단계에 추가된 문제다. 다 풀었다고 생각했는데 두 문제가 갑자기 추가되니 조금 불편해진다.
한 번에 해결함.
문제에서는 재귀를 활용했다. 그러나 모든 재귀 문제가 그렇듯, 재귀와 반복문은 서로 바꿔 쓸 수 있다.
문제와 다르게 반복문을 이용해 풀기로 했다.
#include <stdio.h>
#include <string.h>
int main() {
int T;
char S[1001];
scanf("%d", &T);
for(int i = 0; i < T; i++) {
scanf("%s", S);
int c = 0, j = 0, k = strlen(S) - 1, t = 1;
while(k > j) {
if(S[j++] != S[k--]) {
t = 0;
break;
}
c++;
}
printf("%d %d\n", t, c+1);
}
}
문제에 답이 있어서 그걸 따라해도 된다. 어차피 풀이는 크게 두 부류로 나뉘며, 그 방법은 크게 다르지 않으므로 생략한다.