프로그래머스코딩테스트연습풀이/C언어

[프로그래머스/C언어] 원하는 문자열 찾기

코코쵸마 2023. 8. 1. 11:47

문제

알파벳으로 이루어진 문자열 myString과 pat이 주어집니다. myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.

단, 알파벳 대문자와 소문자는 구분하지 않습니다.

 

솔루션

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <ctype.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* myString, const char* pat) {
    int answer = 0;
    int j = 0;
    for(int i = 0; i < strlen(myString); i++)
    {
        if(tolower(myString[i]) == tolower(pat[j])){
            j++;
            if(j == strlen(pat))
            {
                answer = 1;
                break;
            }
        }
        else{
            if(j > 0)
                j = 0;
        }
    }
    return answer;
}

https://school.programmers.co.kr/learn/courses/30/lessons/181878