[프로그래머스] [LV1] [1차] 다트 게임

업데이트:

📚 [1차] 다트 게임

링크📎 : https://programmers.co.kr/learn/courses/30/lessons/17682?language=java

난이도 ⭐️

📖 문제

이미지 이미지 이미지

📝 내 풀이

import java.util.*;

class Solution {
    public int solution(String dartResult) {
        int answer = 0;
        int count = -1;
        int[] score = new int[3];
        boolean isScore = true;
        
        for(int i = 0; i < dartResult.length(); i++){
            if(dartResult.charAt(i) >='0'&& dartResult.charAt(i) <= '9') isScore = true;
            
            if(isScore){
                count++;
                if(dartResult.charAt(i+1)=='0') {score[count] = 10; i++;}
                else score[count] = dartResult.charAt(i) - '0';
                isScore = false;
            }
            else{
                switch(dartResult.charAt(i)){
                    case 'S' :
                        score[count] = (int)Math.pow(score[count], 1);
                        break;
                    case 'D' :
                        score[count] = (int)Math.pow(score[count], 2);
                        break;
                    case 'T' :
                        score[count] = (int)Math.pow(score[count], 3);
                        break;
                    case '*' :
                        if(count != 0) {
                            score[count-1] = score[count-1]*2;
                            score[count] = score[count]*2;
                            }
                        else score[count] = score[count]*2;
                        break;
                    case '#' :
                        score[count] = -score[count];
                        break;
                }
            }
        }
        
        for(int i:score){
                answer += i;
            }
        
        
        
        
        return answer;
    }
}

끝-!

댓글남기기