본문 바로가기
코테/프로그래머스

[프로그래머스] 숫자 문자열과 영단어 - C++

by gayoungeeda 2023. 8. 19.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/81301

 

문제 설명


문제 풀이

#include <string>
using namespace std;
string num[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
int solution(string s) {
    string answer = "";
    string tmp;
    for(int i = 0; i < s.length(); i++) {
        if(s[i] - '0' >= 0 && s[i] - '0' <= 9)
            answer += s[i];
        else {
            tmp.push_back(s[i]);
            for(int j = 0; j < 10; j++) {
                if(tmp == num[j]) {
                    answer += to_string(j);
                    tmp.clear();
                }
            }
        }
    }
    return stoi(answer);
}

regex 정규 표현식을 사용해서 엄청 간결하게 표현할 수도 있던데 더 공부해봐야겠다.