[프로그래머스 C++]/LEVEL 1

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

AKI(JUNI) 2024. 4. 23. 21:45

◈ 문제 설명


◈ 문제 설명 링크
코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


◈ 작성 코드

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(string s) 
{
    int answer = 0;
    
    int t = 0;
    string a = "";
    while(t < s.size())
    {
        if(s[t] - '0' >= 0 && s[t] - '0' <= 9)
        {
            a.push_back(s[t]);
            t++;
        }
        else
        {
            if(s[t] == 'z')
            {
                a+="0";
                t+=4;
            }
            else if(s[t] == 'o')
            {
                a+="1";
                t+=3;
            }
            else if(s[t] == 't')
            {
                if(s[t+1] == 'w')
                {
                    a+="2";
                    t+=3;
                }
                else
                {
                    a+="3";
                    t+=5;
                }
            }
            else if(s[t] == 'f')
            {
                if(s[t+1] == 'o')
                {
                    a+="4";
                    t+=4;
                }
                else
                {
                    a+="5";
                    t+=4;
                }
            }
            else if(s[t] == 's')
            {
                if(s[t+1] == 'i')
                {
                    a+="6";
                    t+=3;
                }
                else
                {
                    a+="7";
                    t+=5;
                }
            }
            else if(s[t] == 'e')
            {
                a+="8";
                t+=5;
            }
            else if(s[t] == 'n')
            {
                a+="9";
                t+=4;
            }
        }
    }
    
    
    return answer = stoi(a);
}