[프로그래머스] 다트 게임 (자바 풀이)
- 알고리즘 문제 해결(PS)/[프로그래머스]
- 2022. 1. 24.
문제
https://programmers.co.kr/learn/courses/30/lessons/17682
풀이
간단한 구현 문제이다. 최대 3번의 다트를 던질 기회가 있다고 했으므로, int[3] 배열을 만들어서 점수를 기록하면 간단하다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import java.util.*; class Solution { public int solution(String dartResult) { int answer = 0; int score[] = new int[3]; int cur = 0; int idx = 0; String num = ""; for(int i=0; i<dartResult.length(); i++){ char ch = dartResult.charAt(i); if(ch >= '0' && ch <= '9'){ num += String.valueOf(ch); }else if (ch == 'S' || ch == 'D' || ch == 'T') { cur = Integer.parseInt(num); if (ch == 'S') { cur = (int) Math.pow(cur, 1); } else if (ch == 'D') { cur = (int) Math.pow(cur, 2); } else { cur = (int) Math.pow(cur, 3); } score[idx++] = cur; num = ""; } else { if (ch == '#') { score[idx - 1] *= -1; } else { score[idx - 1] *= 2; if (idx - 2 >= 0) { score[idx - 2] *= 2; } } } } for (int i = 0; i < score.length; i++) { answer += score[i]; } return answer; } } | cs |
결과
반응형
'알고리즘 문제 해결(PS) > [프로그래머스]' 카테고리의 다른 글
[프로그래머스] 카카오_셔틀버스 (자바 풀이) (0) | 2022.01.25 |
---|---|
[프로그래머스] 카카오_뉴스 클러스터링 (자바 풀이) (0) | 2022.01.25 |
[프로그래머스] 카카오_프렌즈4블록 (자바 풀이) (0) | 2022.01.24 |
[프로그래머스] 카카오_캐시 (자바 풀이) (0) | 2022.01.24 |
[프로그래스] 카카오_비밀지도 (자바 풀이) (0) | 2022.01.24 |