1. 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/81301
#include <string>
#include <vector>
#include <map>
using namespace std;
void init(map<string, int>& myMap) {
myMap.clear();
myMap.insert({ "zero", 0 });
myMap.insert({ "one", 1 });
myMap.insert({ "two", 2 });
myMap.insert({ "three", 3 });
myMap.insert({ "four", 4 });
myMap.insert({ "five", 5 });
myMap.insert({ "six", 6 });
myMap.insert({ "seven", 7 });
myMap.insert({ "eight", 8 });
myMap.insert({ "nine", 9 });
}
int solution(string s) {
int answer = 0;
map<string, int> myMap;
init(myMap);
string tmp = "";
for (int i = 0; i < s.length(); i++) {
if (s[i] >= '0'&& s[i] <= '9') {
answer = answer * 10 + (s[i] - '0');
}
else {
tmp.push_back(s[i]);
if (myMap.find(tmp) == myMap.end())
continue; //tmp가 myMap에 없으면 다음으로 넘어가
answer = answer * 10 + myMap[tmp];
tmp.clear();
}
}
return answer;
}
쉽다.
'algorithm > programmers' 카테고리의 다른 글
프로그래머스 위클리 챌린지10주차 교점에 별 만들기 (0) | 2021.10.13 |
---|---|
프로그래머스 위클리 챌린지4주차 직업군 추천하기 (0) | 2021.10.06 |
프로그래머스 위클리 챌린지9주차 전력망을 둘로 나누기 (0) | 2021.10.06 |
2021 카카오 채용연계형 인턴십표 편집 (0) | 2021.09.30 |
2021 카카오 채용연계형 인턴십 > 거리두기 확인하기 (0) | 2021.09.29 |
댓글