https://programmers.co.kr/learn/courses/30/lessons/81301
나의 풀이
#include <string>
#include <vector>
#include <cctype>
using namespace std;
int solution(string s) {
string answer = "";
for (int i = 0; i < s.size();) {
if (isdigit(s[i])) {
answer += s[i++];
}
else {
switch (s[i]) {
case 'z':
answer += '0';
i += 4;
break;
case 'o':
answer += '1';
i += 3;
break;
case 't':
if (s[i + 1] == 'w') {
answer += '2';
i += 3;
}
else {
answer += '3';
i += 5;
}
break;
case 'f':
if (s[i + 1] == 'o') {
answer += '4';
}
else {
answer += '5';
}
i += 4;
break;
case 's':
if (s[i + 1] == 'i') {
answer += '6';
i += 3;
}
else {
answer += '7';
i += 5;
}
break;
case 'e':
answer += '8';
i += 5;
break;
case 'n':
answer += '9';
i += 4;
break;
default:break;
}
}
}
return stoi(answer);
}
regex를 사용하면 간단하게 풀 수 있다.
'전공공부 > 코딩테스트' 카테고리의 다른 글
( c++) 프로그래머스 크레인 인형뽑기 게임 (0) | 2022.01.11 |
---|---|
(c++) 프로그래머스 키패드 누르기 (0) | 2022.01.06 |
(c++) 프로그래머스 추석 트래픽 (0) | 2022.01.06 |
(c++) 프로그래머스 오픈채팅방 (0) | 2022.01.04 |
(c++) 프로그래머스 문자열 압축 (0) | 2022.01.04 |