문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/17682
코딩테스트 연습 - [1차] 다트 게임
programmers.co.kr
간단한 구현 문제였습니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <string> | |
#include <vector> | |
#include <cmath> | |
using namespace std; | |
int solution(string dartResult) { | |
string temp = ""; | |
vector<int> v; | |
for (char c : dartResult) | |
{ | |
if (c >= '0' && c <= '9') | |
{ | |
temp += c; | |
} | |
else if (c == 'S' || c == 'D' || c == 'T') | |
{ | |
int num = stoi(temp); | |
num = pow(num, c == 'S' ? 1 : c == 'D' ? 2 : 3); | |
v.push_back(num); | |
temp = ""; | |
} | |
else if (c == '*') | |
{ | |
int rIdx = v.size() - 1; | |
v[rIdx] *= 2; | |
if (rIdx > 0) | |
{ | |
v[rIdx - 1] *= 2; | |
} | |
} | |
else if (c == '#') | |
{ | |
int rIdx = v.size() - 1; | |
v[rIdx] *= -1; | |
} | |
} | |
int answer = 0; | |
for (int num : v) | |
{ | |
answer += num; | |
} | |
return answer; | |
} |

개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 가운데 글자 가져오기 (0) | 2021.12.07 |
---|---|
[Programmers] [1차] 비밀지도 (0) | 2021.12.04 |
[Programmers] 2016년 (0) | 2021.11.23 |
[Programmers] 실패율 (0) | 2021.11.20 |
[Programmers] 크레인 인형뽑기 게임 (0) | 2021.11.20 |