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

[프로그래머스/C++] 접미사인지 확인하기

by 코코쵸마 2025. 2. 17.

문제

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

 

솔루션

#include <string>
#include <vector>

using namespace std;

int solution(string my_string, string is_suffix) {
    if(my_string.size() >= is_suffix.size()){
        if(my_string.substr(my_string.size()-is_suffix.size(),is_suffix.size()) == is_suffix){
            return 1;
        }
        else{
            return 0;
        }
    }
    else{
        return 0;
    }
}

 

메모

is_suffix크기가 my_string크기보다 크면 

my_string.substr(my_string.size()-is_suffix.size()이 범위를 벗어나서 오류가 난다.

그래서 두개 크기 비교 먼저해야 올바르게 문제를 해결할 수 있다.

 

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr