[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;
}
결과
Leave a comment