다른 사람의 풀이
import java.util.*;
class Solution {
public static int solution(String dartResult) {
Map<Character, Integer> scores = new HashMap<>();
scores.put('S', 1);
scores.put('D', 2);
scores.put('T', 3);
String tmp = "";
List<Integer> list = new ArrayList<>();
for (char c : dartResult.toCharArray()) {
if (scores.containsKey(c)) {
list.add((int) Math.pow(Integer.parseInt(tmp), scores.get(c)));
tmp = "";
} else if (c == '#') {
list.set(list.size() - 1, list.get(list.size() - 1) * -1);
} else if (c == '*') {
list.set(list.size() - 1, list.get(list.size() - 1) * 2);
if (list.size() >= 2) {
list.set(list.size() - 2, list.get(list.size() - 2) * 2);
}
} else {
tmp += c;
}
}
int sum = 0;
for (int score : list) {
sum += score;
}
return sum;
}
}
a
'프로그래머스(자바) > LV.1(자바)' 카테고리의 다른 글
과일장수→ 내림차순 정렬★★ + 우측에서 좌측으로 접근★★ (0) | 2022.12.20 |
---|---|
완주하지 못한 선수→ getOrDefault() 각 요소 갯수 세기★★ (0) | 2022.12.19 |
체육복→ 차집합을 구현하는 방법★★ (0) | 2022.12.19 |
푸드 파이트 대회→ 우측(뒤)에서 좌측(앞)으로 접근★★ (0) | 2022.12.18 |
실패율→배열에서 동일요소를 세기 위한 방법★★★ (0) | 2022.12.18 |