25501-printf 함수
2023. 2. 8. 19:04ㆍ백준(c , c++)
728x90
printf()를 호출할 때 인자로 isPalindrome(s)이 먼저 넘어가고 모든 처리가 끝난 후 증가된 count값이 넘어갈 거라고 보장할 수 없다. (printf()의 호출은 한 번에 이뤄지기 때문.)
isPalindrome(s) 출력 부분과 이후 count 출력 부분을 분리해야 한다.
#define _CRT_SECURE_NO_WARNINGS //경고 제거
#include <stdio.h>
#include <string.h>
int count = 0;
int recursion(const char* s, int l, int r) {
count++;
if (l >= r)
return 1;
else if (s[l] != s[r])
return 0;
else
return recursion(s, l + 1, r - 1);
}
int isPalindrome(const char* s) {
return recursion(s, 0, strlen(s) - 1);
}
class word {
public:
char str[1001];
};
int main() {
int T;
scanf("%d", &T);
word* str = new word[T];
for (int i = 0; i < T; i++) {
scanf("%s", str[i].str);
}
for (int i = 0; i < T; i++) {
printf("%d %d\n", isPalindrome(str[i].str), count);
count = 0;
}
return 0;
}728x90
'백준(c , c++)' 카테고리의 다른 글
| 하노이의 탑 (0) | 2023.02.21 |
|---|---|
| 좌표 압축 기법- 18870번 (0) | 2023.02.07 |
| 10814번 (0) | 2023.02.06 |
| 1181번 (0) | 2023.02.06 |
| 2차원 배열을 정렬할 때 구조체 사용하기 (1) | 2023.01.25 |