#include <string>
#include <vector>
using namespace std;
int solution(string s) {
vector<pair<string, string>> v;
v.push_back({"zero", "0"});
v.push_back({"one", "1"});
v.push_back({"two", "2"});
v.push_back({"three", "3"});
v.push_back({"four", "4"});
v.push_back({"five", "5"});
v.push_back({"six", "6"});
v.push_back({"seven", "7"});
v.push_back({"eight", "8"});
v.push_back({"nine", "9"});
for(auto num : v) {
while(s.find(num.first) != string::npos) {
s.replace(s.find(num.first), num.first.length(), num.second);
}
}
return stoi(s);
}
Regular expressions library (since C++11) - cppreference.com
Regular expressions library The regular expressions library provides a class that represents regular expressions, which are a kind of mini-language used to perform pattern matching within strings. Almost all operations with regexes can be characterized by
en.cppreference.com
#include <string>
#include <regex>
using namespace std;
int solution(string s) {
s = regex_replace(s, regex("zero"), "0");
s = regex_replace(s, regex("one"), "1");
s = regex_replace(s, regex("two"), "2");
s = regex_replace(s, regex("three"), "3");
s = regex_replace(s, regex("four"), "4");
s = regex_replace(s, regex("five"), "5");
s = regex_replace(s, regex("six"), "6");
s = regex_replace(s, regex("seven"), "7");
s = regex_replace(s, regex("eight"), "8");
s = regex_replace(s, regex("nine"), "9");
return stoi(s);
}'프로그래머스 > Level1' 카테고리의 다른 글
| [Level1] 크기가 작은 부분 문자열 (C++/Python) (0) | 2023.05.15 |
|---|---|
| [Level1] 문자열 내 마음대로 정렬하기 (C++/Python) (0) | 2023.05.14 |
| [Level1] 다트 게임 (C++) (0) | 2023.05.06 |
| [Level1] 덧칠하기 (C++/Python) (0) | 2023.05.05 |
| [Level1] 공원 산책 (C++) (0) | 2023.05.04 |