반응형
2018 KAKAO BLIND RECRUITMENT 문제
#include <string>
#include <vector>
using namespace std;
int solution(string dartResult) {
int answer = 0; //점수 총합
int num = 0;
vector<int> sum; //1,2,3회 점수기록
for(int i = 0; i<dartResult.length(); i++){
if(dartResult[i]>='0'&&dartResult[i]<='9') { //숫자인경우
num = num * 10 + dartResult[i] - '0';
}
else if(dartResult[i]=='S'){
sum.push_back(num); //점수^1
num=0;
}
else if(dartResult[i]=='D'){
sum.push_back(num*num); //점수^2
num=0;
}
else if(dartResult[i]=='T'){
sum.push_back(num*num*num); //점수^3
num=0;
}
else if(dartResult[i]=='*'){
if(sum.size()==1){ //점수가 1개만 기록되있는 경우
sum.back() *= 2;
}
else{ //점수가 2,3개 기록되있는 경우
sum.back() *= 2;
sum[sum.size()-2] *= 2;
}
}
else if(dartResult[i]=='#'){
sum[sum.size()-1] *= (-1);
}
}
for(int i = 0; i<sum.size(); i++) { //점수기록 모두더하기
answer += sum[i];
}
return answer;
}
문제 링크
programmers.co.kr/learn/courses/30/lessons/17682
반응형
'🕹️ 알고리즘 > 💯 코딩테스트' 카테고리의 다른 글
[3079]입국심사 (0) | 2021.02.07 |
---|---|
[프로그래머스-level1]모의고사 (0) | 2021.01.08 |
[백준-16693]Pizza Deal(C++) (0) | 2020.11.27 |
[C++] 코딩테스트를 위한 C++ 기본 (0) | 2020.09.16 |
[백준-9020]골드바흐의 추측(C++) (1) | 2020.08.24 |