[C++] 프로그래머스 꼬리 문자열

문제설명

문자열들이 담긴 리스트가 주어졌을 때,
모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 합니다.
꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 합니다.
예를 들어 문자열 리스트 ["abc", "def", "ghi"]가 있고
문자열 "ef"를 포함한 문자열은 제외하고 꼬리 문자열을 만들면 "abcghi"가 됩니다.

문자열 리스트 str_list와 제외하려는 문자열 ex가 주어질 때,
str_list에서 ex를 포함한 문자열을 제외하고 만든 꼬리 문자열을
return하도록 solution 함수를 완성해주세요.


제한사항

• 2 ≤ str_list의 길이 ≤ 10
• 1 ≤ str_list의 원소의 길이 ≤ 10
• 1 ≤ ex의 길이 ≤ 5


입출력 예

str_list ex result
[“abc”, “def”, “ghi”] “ef” “abcghi”
[“abc”, “bbc”, “cbc”] “c” ””


풀이

str_list에서 ex 문자열이 포함된 문자는 제외하고 꼬리 문자열을 만드는 구현 문제입니다. 이 문제 역시 find 함수를 이용하여 문자열을 포함하는지 파악하였고, 나머지 문자열들을 합치는 로직을 구현하여 문제를 풀 수 있었습니다.

#include <string>
#include <vector>

using namespace std;

string solution(vector<string> str_list, string ex) {
    string answer = "";
    
    for(int i = 0; i < str_list.size(); i++)
    {
        if(str_list[i].find(ex) == string::npos)
        {
            answer += str_list[i];
        }
    }
    
    return answer;
}


결과

코드 실행결과

Categories:

Updated:

Leave a comment