반응형
https://programmers.co.kr/learn/courses/30/lessons/17682
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;
}
}
반응형
'알고리즘 > 카카오' 카테고리의 다른 글
오픈채팅방 (0) | 2020.05.29 |
---|---|
비밀지도 (0) | 2020.05.26 |
크레인 인형뽑기 게임 (0) | 2020.05.17 |
실패율 (0) | 2020.05.15 |
[프로그래머스] 문자열 압축 (0) | 2020.04.10 |