[프로그래머스 / C++] 공백으로 구분하기 2

YH·2023년 10월 27일
0

문제

공백으로 구분하기 2 : 문제 링크


문제 분석

  • 단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return
  • 단어를 임시로 저장할 문자열 tmp를 선언. for loop를 통해 my_string의 원소를 하나씩 검사하고, if문을 통해 공백이 아닐경우 tmp에 해당 원소를 저장. else if문에서 공백을 만나고, tmp에 저장된 단어가 있다면 그것을 문자열 배열 answer에 저장. my_string의 마지막 원소가 아닌경우, tmp에 저장된 단어가 answer에 저장되지 않을 경우를 대비하여 마지막에 if문을 통해 한번 더 저장. 최종적으로 저장된 answer을 return

풀이

#include <vector>
#include <string>

using namespace std;

vector<string> solution(string my_string) {
    vector<string> answer;
    string tmp = "";
    
    for(int i = 0; i < my_string.size(); ++i) {
        if(my_string[i] != ' ') tmp += my_string[i];
        else if(tmp != "") {
            answer.push_back(tmp);
            tmp = "";
        }
    }
    if(tmp != "") answer.push_back(tmp);
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글