본문 바로가기
백준 C언어/bronze

백준 10988 팰린드롬인지 확인하기 C언어_230113

by boyo-ee 2023. 1. 13.

팰린드롬인지 확인하기

나는 확인안하고 싶단 말이야 ㅠㅠ

 

구현은 쉬운 문젠데 생각지 못한 반례가 많아서 애먹은 문제이다.

처음에는 문자열을 입력받아서 문자열을 처음부터 끝까지 + 반대방향으로 처음부터 끝까지 구현을 하려고 하였으나....

생각보다 다양한 반례로 펠린드롬이라면 문자열을 반만 탐색하여도 되기 때문에 연산 횟수를 줄였다.

 

#include <stdio.h>
#include <string.h>
int main(){
	char a[105];
	int result=1;
	scanf("%s",a);
	int len=strlen(a);
	for(int i=0;i<len/2;i++){
		if(a[i]!=a[len-i-1]) result=0;
	}
	printf("%d",result);
	return 0;
}

혹시나 도움이 되고자 반례들을 남겨드립니다.

 

1. a

2. abba

3. babcb //처음에 홀수번째가 result==0인 경우 제외처리하였는데 저런 입력을 생각하지 못했었다 ㅠㅠ🤣

4. aba

 

이 정도 테스트케이스 통과하는 코드면 정답이지 않을까

댓글