2021 카카오 인턴 코테 문제
5시간을 잡고 실전처럼 진행하였으며 코드의 최적화나 알고리즘은 정확하지 않음.
코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 숫자 문자열과 영단어
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자
programmers.co.kr
1번 문제이며, 약 20분 소요되었다.
크게 어려운 것은 없으며 map을 이용하여 풀었다. 파이썬의 dict이 더 편할지 모르겠다.
다만 string 처리가 귀찮았다.
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(string s) {
int answer = 0;
string num = "";
string temp = "";
map<string, string> m;
m["zero"] = "0";
m["one"] = "1";
m["two"] = "2";
m["three"] = "3";
m["four"] = "4";
m["five"] = "5";
m["six"] = "6";
m["seven"] = "7";
m["eight"] = "8";
m["nine"] = "9";
for (int i = 0; i < s.size(); i++)
{
if (isdigit(s[i]))
num += s[i];
else
{
temp += s[i];
if (m[temp] != "")
{
num += m[temp];
temp = "";
}
}
}
answer = stoi(num);
return answer;
}
'Coding_Test > 2021_KAKAO_INTERN' 카테고리의 다른 글
[2021 카카오 인턴] 표 편집 (C++) (0) | 2022.05.12 |
---|---|
[2021 카카오 인턴] 거리두기 확인하기 (C++) (0) | 2022.05.12 |