programmers.co.kr/learn/courses/30/lessons/17682
int solution(string dartResult) {
int answer = 0;
int result_size = dartResult.size();
vector<int> cal_num;
string temp_s = "";
for(int i=0;i<result_size;++i)
{
if(dartResult[i] != 'S' && dartResult[i] != 'D' && dartResult[i] != 'T'
&& dartResult[i] != '*' && dartResult[i] != '#')
{
temp_s += dartResult[i];
}
else
{
switch(dartResult[i])
{
case 'S':{
int num = stoi(temp_s);
temp_s = "";
int cal = num;
cal_num.push_back(cal);
}
break;
case 'D':{
int num = stoi(temp_s);
temp_s = "";
int cal = num * num;
cal_num.push_back(cal);
}
break;
case 'T':{
int num = stoi(temp_s);
temp_s = "";
int cal = num * num * num;
cal_num.push_back(cal);
}
break;
case '*':{
int idx = cal_num.size();
if(idx > 0)
{
cal_num[idx-1] *=2;
cal_num[idx-2] *=2;
}
else
{
cal_num[0] *= 2;
}}
break;
case '#':
{
int idx = cal_num.size();
if(idx > 0)
{
cal_num[idx-1] *= -1;
}
else
{
cal_num[0] *= -1;
}
}
break;
}
}
}
for(int i=0;i<cal_num.size();++i)
{
answer += cal_num[i];
}
return answer;
}
tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/
초반에 감을 잘못 잡아서 헤매긴 했지만 정답률이 73%나 되는 쉬운 문제였다.
'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글
[C++/알고리즘] 프로그래머스 (폰켓몬) (0) | 2020.10.08 |
---|---|
[C++/알고리즘] 프로그래머스 (두 개 뽑아서 더하기) (0) | 2020.10.08 |
[C++/알고리즘] 프로그래머스 (오픈채팅방) (0) | 2020.10.08 |
[C++/알고리즘] 프로그래머스 (JadenCase 문자열 만들기) (0) | 2020.09.25 |
[C++/알고리즘] 프로그래머스 (카펫) (0) | 2020.09.11 |