본문 바로가기
프로그래머스코딩테스트연습풀이/C언어

[프로그래머스/C언어] 접두사인지 확인하기

by 코코쵸마 2023. 8. 1.

문제

어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

 

솔루션

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* my_string, const char* is_prefix) {
    int answer = 0;
    int j = 0;
    for(int i = 0; i < strlen(my_string); i++)
    {
        if(my_string[i] == is_prefix[j++]){
            if(strlen(is_prefix) == j)
               answer = 1;
            printf("%c ", my_string[i]);
        }
        else
            break;
    }
    return answer;
}

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