프로그래머스 17682 (1차) 다트 게임

1 개요[ | ]

프로그래머스 17682 (1차) 다트 게임

2 C++[ | ]

#include <string>
#include <vector>

using namespace std;

int solution(string dartResult) {
    int scores[2] = {};
    int idx = -1;
    int num = 0;
    for(int i=0; i<dartResult.length(); i++) {
        char c = dartResult[i];
        if(c >= '0' && c <= '9') {
            if(idx >= 0) {
                scores[idx] = num;
            }
            idx++;
            if(c == '1' && dartResult[i+1] == '0') {
                num = 10;
                i++;
            } else {
                num = c - '0';    
            }
            continue;
        }
        if(c == 'S') {
            continue;
        }
        if(c == 'D') {
            num = num*num;
            continue;
        }
        if(c == 'T') {
            num = num*num*num;
            continue;
        }
        if(c == '*') {
            num *= 2;
            if(idx>0) scores[idx-1] *= 2;
            continue;
        }
        if(c == '#') {
            num *= -1;
            continue;
        }
    }
    return scores[0] + scores[1] + num;
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}