코딩 테스트/프로그래머스
[ 프로그래머스 - Java ] 다트게임(2018 KAKAO BLIND RECRUITMENT)
snow_hong
2022. 4. 25. 09:48
[ 풀이 ]
import java.lang.Math;
class Solution {
public int solution(String dartResult) {
int answer = 0;
int idx = 0; //배열참조 idx
int arr[] = new int[3]; //3번의 점수 저장 배열
String temp =""; //문자열내 숫자 저장 변수
for(int i =0; i<dartResult.length(); i++){
switch(dartResult.substring(i,i+1)){
case "*" :
arr[idx-1]*=2;
if(idx >1) arr[idx-2]*=2;
break;
case "#" :
arr[idx-1] *= -1;
break;
case "S" :
arr[idx] = (int)Math.pow(Integer.parseInt(temp),1);
idx++;
temp ="";
break;
case "D" :
arr[idx] = (int)Math.pow(Integer.parseInt(temp),2);
idx++;
temp ="";
break;
case "T" :
arr[idx] = (int)Math.pow(Integer.parseInt(temp),3);
idx++;
temp ="";
break;
default :
temp += dartResult.substring(i,i+1);
break;
}
}
for(int i =0; i<arr.length; i++){
answer += arr[i];
}
return answer;
}
}
728x90