C언어/주차별 문제

[5주차] Palindromes

슈슈버거 2023. 4. 23. 01:01

문제


내가 작성한 코드

#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