수학과의 좌충우돌 프로그래밍

[C++] string 문자열 나누는 split 본문

알고리즘/C++

[C++] string 문자열 나누는 split

ssung.k 2020. 3. 15. 19:04

타 언어는 문자열을 나누는 split 함수가 존재하지만 c++은 존재하지 않습니다.

따라서 알고리즘 문제를 풀면서 이러한 부분을 직접 구현해서 사용하곤 하였는데 자주 사용하다보니 이를 정리해 놓을 필요성을 느꼈습니다.

split 함수와 같은 기능을 수행하는 방법은 많지만 그 중에서 stringstream을 사용해보도록 하겠습니다.

stringsteam 을 사용한 split

#include <iostream>
#include <vector>
#include <sstream>

using namespace std;

vector<string> split(string str, char delimiter);

int main(){
    string test = "min sung kang";
    vector<string> result = split(test, ' ');
    for (int i=0;i<result.size();i++){
        cout << result[i] << " ";
    }
}

vector<string> split(string input, char delimiter) {
    vector<string> answer;
    stringstream ss(input);
    string temp;
 
    while (getline(ss, temp, delimiter)) {
        answer.push_back(temp);
    }
 
    return answer;
}

 

'알고리즘 > C++' 카테고리의 다른 글

[C++] BAEKJOON 2407 조합  (0) 2020.08.21
[C++] stl container set, multiset  (0) 2020.04.14
[C++] BAEKJOON 17968 Fire on Field (acm-icpc)  (0) 2019.11.13
[C++] BAEKJOON 11404 플로이드  (0) 2019.11.10
[C++] BAEKJOON 11559 Puyo Puyo  (0) 2019.11.04
Comments