문제
내가 작성한 코드
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
int n; //입력받을 문자의 개수
scanf("%d", &n);
for(int i = 0; i<n; i++){ //그 개수만큼 반복
int m; //문자열의 길이
scanf("%d", &m);
char word[m]; //문자 저장
scanf("%s", &word);
int len; //탐색할 길이 변수
if(m%2 == 0){ //짝수일 경우
len = m/2; //그냥 나누기
}
else{ //홀수일 경우
len = m/2 + 1; // 2로 나누고 1 더하기
}
int result = 0; //일치여부 판단 변수
for(int i = 0; i<len; i++){ //길이만큼 탐색
if(word[i] != word[m-1-i]){ //길이 기준으로 대칭으로 일치가 아닐 경우
result = 1; //일치하지 않는다는 의미
break; //반복문 종료
}
}
//탐색 종료
if(result == 1){ //result가 1일 경우
printf("NO\n"); //NO 출력
}
else{ //다를 경우
printf("YES\n"); //YES 출력
}
}
return 0;
}
'C언어 > 주차별 문제' 카테고리의 다른 글
[6주차] 최댓값, 최솟값 (0) | 2023.04.23 |
---|---|
[6주차] 포인터 배열을 이용한 합산 구하기 (0) | 2023.04.23 |
[5주차] 달리기1 (0) | 2023.04.23 |
[5주차] 지뢰찾기1 (0) | 2023.04.23 |
[5주차] 문자열의 길이 (0) | 2023.04.23 |