문제
https://school.programmers.co.kr/learn/courses/30/lessons/81301
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문자와 숫자가 혼합된 형태의 문자열을 숫자로 변환하는 문제였다.
문제 풀이
문자열과 숫자를 키-밸류 값으로 가지는 map을 만들어 풀었다. string을 한 글자씩 검사하며 먼저 숫자인지 확인한 후, map에 있는 string일 경우 숫자를 answer에 더해줬다.
#include <string>
#include <vector>
#include <map>
using namespace std;
map<string,int> num;
void init_map(){
//map 만들기
num.insert({"zero",0});
num.insert({"one",1});
num.insert({"two",2});
num.insert({"three",3});
num.insert({"four",4});
num.insert({"five",5});
num.insert({"six",6});
num.insert({"seven",7});
num.insert({"eight",8});
num.insert({"nine",9});
}
int solution(string s) {
int answer = 0;
init_map();
//printf("%d",num["zero"]);
string checkWord="";
for(int i=0;i<s.length();i++){
if(s[i] >='0' && s[i]<='9'){
answer*=10;
answer+=(s[i]-'0');
}
else{
checkWord+=s[i];
if(num.count(checkWord)>0){
answer*=10;
answer+= num[checkWord];
checkWord="";
}
}
}
return answer;
}
문제
https://school.programmers.co.kr/learn/courses/30/lessons/81301
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문자와 숫자가 혼합된 형태의 문자열을 숫자로 변환하는 문제였다.
문제 풀이
문자열과 숫자를 키-밸류 값으로 가지는 map을 만들어 풀었다. string을 한 글자씩 검사하며 먼저 숫자인지 확인한 후, map에 있는 string일 경우 숫자를 answer에 더해줬다.
#include <string> #include <vector> #include <map> using namespace std; map<string,int> num; void init_map(){ //map 만들기 num.insert({"zero",0}); num.insert({"one",1}); num.insert({"two",2}); num.insert({"three",3}); num.insert({"four",4}); num.insert({"five",5}); num.insert({"six",6}); num.insert({"seven",7}); num.insert({"eight",8}); num.insert({"nine",9}); } int solution(string s) { int answer = 0; init_map(); //printf("%d",num["zero"]); string checkWord=""; for(int i=0;i<s.length();i++){ if(s[i] >='0' && s[i]<='9'){ answer*=10; answer+=(s[i]-'0'); } else{ checkWord+=s[i]; if(num.count(checkWord)>0){ answer*=10; answer+= num[checkWord]; checkWord=""; } } } return answer; }