ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
c++์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ๋ ํฌ๊ฒ ๋ถ๋ถ๋ฌธ์์ด์ ๋ง๋๋ ๊ฒฝ์ฐ์ ํน์ ๊ตฌ๋ถ๋ฌธ์(delimiter)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋ ๊ฒฝ์ฐ์ด๋ค. ์ด๋ ต์ง ์์ง๋ง, ๋ชจ๋ฅด๋ฉด ์ฝ์งํด์ผํ๋ ์ ๋ฆฌํด๋๊ณ ์ ํ๋ค.
substr
#include <string>
#include <vector>
using namespace std;
string<vector> getSubStr(string s, int len) {
string subStr;
vector<string> subStr;
// ์๋ฅผ ๊ธธ์ด
for (register int end = 1; end < len; end++) {
// ์๋ฅผ ์์น
for (register int start = 0; start < len; start++) {
subStr.push_back(s.substr(start, end));
}
}
return subStr;
}
์์ ๊ฐ์ด `substr`์ ํ์ฉํ์ฌ, ์๋ฅผ ์์น์ ๊ธธ์ด๋ฅผ ์ง์ ํ๋ฉด ๋ถ๋ถ ๋ฌธ์์ด์ ๊ตฌํ ์ ์๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ ์๊ฒ ์ง๋ง ์ฌํํด์ ์ข์ ๊ฒ ๊ฐ๋ค.
split
#include <sstream>
#include <string>
#include <vector>
using namespace std;
vector<string> getSplitStr(string s) {
istringstream is(mWord);
string buf;
vector<string> ret;
while(getline(is, buf, '_'))
ret.push_back(buf);
return ret;
}
ํน์ ๊ตฌ๋ถ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋ ๊ฒ์ ์์ ๊ฐ์ด, `sstream`์ `istringstream`์ ํ์ฉํ์ฌ์ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
728x90
๋ฐ์ํ
'๐โโ๏ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
c++: ํ์ ํํ์ ๊ตฌํํ๊ธฐ (0) | 2022.02.20 |
---|---|
C++: Trie ๊ตฌํํ๊ธฐ (0) | 2022.01.30 |
C++: Priority Queue ๊ตฌํํ๊ธฐ (0) | 2022.01.05 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ