알고리즘/프로그래머스
프로그래머스 숫자 문자열과 영단어
이영재의오른발
2022. 5. 14. 13:56
반응형
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int solution(string s) {
string answer="";
for(int i=0; i<s.length(); i++) {
if(s[i] >= '0' && s[i] <= '9') {
answer = answer + s[i];
}
else {
if(s[i] == 'z') {
i = i + 3;
answer = answer + '0';
}
else if(s[i] == 'o') {
i = i + 2;
answer = answer + '1';
}
else if(s[i] == 't') {
if(s[i+1] == 'w') {
i = i + 2;
answer = answer + '2';
}
else if(s[i+1] == 'h') {
i = i + 4;
answer = answer + '3';
}
}
else if(s[i] == 'f') {
if(s[i+1] == 'o') {
i = i + 3;
answer = answer + '4';
}
else if(s[i+1] == 'i') {
i = i + 3;
answer = answer + '5';
}
}
else if(s[i] == 's') {
if(s[i+1] == 'i') {
i = i + 2;
answer = answer + '6';
}
else if(s[i+1] == 'e') {
i = i + 4;
answer = answer + '7';
}
}
else if(s[i] == 'e') {
i = i + 4;
answer = answer + '8';
}
else if(s[i] == 'n') {
i = i + 3;
answer = answer + '9';
}
}
}
return stoi(answer);
}
영단어 알파벳의 첫번째 글자에 따라 경우의수를 판단해주기만 하면 쉽게 풀수있는 문제였다
같은 영단어일때는 알파벳 다음 글자가 다르다는 점만 신경써주고 answer 문자열에 저장한뒤 stoi 함수를 써주면 답이 return된다
728x90
반응형