카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~
카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다.
갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다.
"점수|보너스|[옵션]"으로 이루어진 문자열 3세트.
예) 1S2D*3T
3번의 기회에서 얻은 점수 합계에 해당하는 정수값을 출력한다.
예) 37
import java.util.*;
class Solution {
public int solution(String dartResult) {
int answer = 0;
int score[] = new int[3]; // 3번의 기회
int index = -1;
for(int i=0;i<dartResult.length();i++) {
char c = dartResult.charAt(i);
if(c == 'S') {
score[index] = (int) Math.pow(score[index], 1);
}
else if(c == 'D') {
score[index] = (int) Math.pow(score[index], 2);
}
else if(c == 'T') {
score[index] = (int) Math.pow(score[index], 3);
}
else if(c == '*') {
score[index] *= 2;
if(index >= 1) score[index-1] *= 2;
}
else if(c == '#') {
score[index] *= -1;
}
// 점수
else {
index++;
char next = dartResult.charAt(i+1);
// 10점인 경우
if(c == '1' && next == '0') {
score[index] = 10;
i++;
}
else {
score[index] = c-'0';
}
}
}
for(int i=0;i<3;i++) {
answer += score[i];
}
return answer;
}
}