카카오 - 숫자 문자열과 영단어

phoenixKim·2021년 9월 2일
0

카카오 기출문제

목록 보기
9/24

내가 놓친점

: int를 string에다가 바로 넣으려고 했다..

  • int를 string으로 바꾸는 함수를 사용해야 했다.

소스코드

#include <string>
#include <vector>
#include <unordered_map>
using namespace std;

int solution(string s) {
    int answer = 0;
   
    unordered_map<string, int>m;
    m.insert({"zero", 0});
    m.insert({"one", 1});
    m.insert({"two", 2});
    m.insert({"three", 3});
    m.insert({"four", 4});
    m.insert({"five", 5});
    m.insert({"six", 6});
    m.insert({"seven", 7});
    m.insert({"eight", 8});
    m.insert({"nine", 9});
    
    string result = "";
    string word = "";
    
    for(int i = 0; i < s.length(); i++)
    {
        word += s[i];
        
        if(word >= "0" && word <= "9")
        {
            word = "";
            result += s[i];
        }
        
        auto iter = m.find(word);
        if(iter != m.end())
        {
            result += to_string(m[word]);
            word = "";
        }        
    }
    
    answer = stoi(result);
    return answer;
}

profile
🔥🔥🔥

0개의 댓글

관련 채용 정보