알고리즘/카카오
다트게임
BSHwan
2020. 5. 24. 21:02
반응형
https://programmers.co.kr/learn/courses/30/lessons/17682
코딩테스트 연습 - [1차] 다트 게임
programmers.co.kr
import java.util.ArrayList;
class Solution {
public int solution(String dartResult) {
int answer = 0;
char[] arr = dartResult.toCharArray();
ArrayList<Integer> calc = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 'S' || arr[i] == 'D' || arr[i] == 'T') {
if (arr[i] == 'D') {
calc.set(calc.size() - 1, (int) Math.pow(calc.get(calc.size() - 1), 2));
} else if (arr[i] == 'T') {
calc.set(calc.size() - 1, (int) Math.pow(calc.get(calc.size() - 1), 3));
}
} else if (arr[i] == '#' || arr[i] == '*') {
if (arr[i] == '#') {
calc.set(calc.size() - 1, calc.get(calc.size() - 1) * -1);
} else {
// arr[i] == '*'
if (i != 2) {
calc.set(calc.size() - 2, calc.get(calc.size() - 2) * 2);
}
calc.set(calc.size() - 1, calc.get(calc.size() - 1) * 2);
}
} else {
// arr[i] == 1 ~ 10
if (arr[i] == '1' && arr[i + 1] == '0') {
calc.add(10);
for(int j=i+1; j<arr.length-1; j++) {
arr[j] = arr[j+1];
}
arr[arr.length-1] = '0';
} else {
calc.add(arr[i] - 48);
}
}
}
for(int i=0; i<calc.size(); i++) {
// System.out.print(calc.get(i) + " ");
answer += calc.get(i);
}
return answer;
}
}
반응형