https://school.programmers.co.kr/learn/courses/30/lessons/81301
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#include <string>
#include <vector>
#include <iostream>
#include <math.h>
using namespace std;
#define MAX_NUM 10
int solution(string s) {
int answer = 0;
int length = s.size();
string lookUpTable[MAX_NUM] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
string sCheck;
vector<int> augmentNumber;
for(int i=0; i<length; i++)
{
int checkChar = (int)s.at(i);
// Alphabet
if(checkChar >= 97 && checkChar <= 122)
{
// Augment the char
sCheck.push_back(s.at(i));
for(int j=0; j<MAX_NUM; j++)
{
// Check the string expressed number
if(sCheck == lookUpTable[j])
{
augmentNumber.push_back(j);
sCheck.clear();
}
}
}
// Number
else
{
int number = (int)s.at(i) - 48;
augmentNumber.push_back(number);
}
}
int maxDigitNum = augmentNumber.size();
int digitCnt = 0;
int totalNum = 0;
for(int i=maxDigitNum; i>0; i--)
{
totalNum += pow(10,i-1) * augmentNumber.at(digitCnt);
digitCnt++;
}
answer = totalNum;
return answer;
}
'코딩 테스트 > 프로그래머스 코딩테스트' 카테고리의 다른 글
올바른 괄호 (0) | 2022.10.03 |
---|---|
신규 아이디 추천 - 미해결... (0) | 2022.10.03 |
행렬의 곱셈 (0) | 2022.09.29 |
성격 유형 검사하기 (0) | 2022.09.25 |
최댓값과 최솟값 (0) | 2022.09.25 |