[c++/알고리즘] 프로그래머스 숫자 문자열과 영단어

1620 단어 알고리즘CC


#include <string>
#include <vector>

using namespace std;

int solution(string s) {
    int answer = 0, num=0, index=0;

    string st[10] = {"zero", "one", "two", "three", "four", "five", "six",
                    "seven", "eight", "nine"};
    string str1[10] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};

    for(int i=0; i<10; i++){
       // 숫자 영문자열을 숫자문자열로 대체
        while(s.find(st[i]) != -1){
            index = s.find(st[i]);
            s.replace(s.find(st[i]), st[i].length(), str1[i]);
        }
    }

    for(int i=0; i<s.length(); i++){
        if(s[i] >=48 && s[i]<=57){
            num = s[i]-48;
            answer = answer*10 + num;
        }
    }

    return answer;
}
  • 문자열을 숫자로 변환하여 answer에 더하는 방법을 사용했는데
    다른 풀이를 보니 answer = stoi(s); 를 사용하는 방법이 있다는것을 알았다!

좋은 웹페이지 즐겨찾기