[C++] 프로그래머스 접두사인지 확인하기
문제설명
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다.
예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때,
is_prefix가 my_string의 접두사라면 1을,
아니면 0을 return 하는 solution 함수를 작성해 주세요.
제한사항
• 1 ≤ my_string의 길이 ≤ 100
• 1 ≤ is_prefix의 길이 ≤ 100
• my_string과 is_prefix는 영소문자로만 이루어져 있습니다.
입출력 예
my_string | is_prefix | result |
---|---|---|
“banana” | “ban” | 1 |
“banana” | “nan” | 0 |
“banana” | “abcd” | 0 |
“banana” | “bananan” | 0 |
풀이
is_prefix 문자열이 my_string의 접두사인지 판단하는 구현 문제입니다. is_prefix 길이만큼 my_string의 인덱스 0부터 같은지 판단하는 로직을 구현하여 문제를 풀 수 있었습니다.
#include <string>
#include <vector>
using namespace std;
int solution(string my_string, string is_prefix) {
int answer = 0;
bool is_p = true;
if (my_string.length() > is_prefix.length())
{
for (int i = 0; i < is_prefix.length(); i++)
{
if(my_string[i] != is_prefix[i])
{
is_p = false;
break;
}
}
if(is_p)
{
answer = 1;
}
}
return answer;
}
결과
Leave a comment