[C++] 프로그래머스 문자열 잘라서 정렬하기
문제설명
문자열 myString이 주어집니다.
"x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후
사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 빈 문자열은 반환할 배열에 넣지 않습니다.
제한사항
• 1 ≤ myString의 길이 ≤ 100,000
◦ myString은 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
myString | result |
---|---|
“axbxcxdx” | [“a”,”b”,”c”,”d”] |
“dxccxbbbxaaaa” | [“aaaa”,”bbb”,”cc”,”d”] |
풀이
myString 문자열을 “x”로 기준으로 나눠 각각의 문자열을 담은 배열을 return하는 구현 문제입니다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> solution(string myString) {
vector<string> answer;
string temp = "";
for(int i = 0; i < myString.length(); i++)
{
if(myString[i] == 'x')
{
if(temp != "")
{
answer.push_back(temp);
temp = "";
}
}
else
{
temp.push_back(myString[i]);
}
}
if(temp != "")
answer.push_back(temp);
sort(answer.begin(), answer.end());
return answer;
}
결과
Leave a comment