프로그래머스: 다트게임
https://programmers.co.kr/learn/courses/30/lessons/17682?language=java
소스
1 | public int solution(String dartResult) { |
흐름
문자열을 charArray로 치환하고 loop 돈다.
char를 비교하여 각 문자별로 맞게 계산을 실행하고, index를 증가 시킨 후 다음 점수 저장을 위해 StringBuilder를 초기화 한다.
‘*‘ 일 경우 이전 점수와 현재 점수 모두 2 배씩 해야 하므로 2 번 던진 경우엔 이전 점수도 2를 곱 해준다.
계산된 세 점수 모두 더해서 return 한다.
끝
결과
번호 | 속도 |
---|---|
테스트 1 | 통과 (0.79ms, 52.4MB) |
테스트 2 | 통과 (0.86ms, 52.2MB) |
테스트 3 | 통과 (0.86ms, 52.4MB) |
테스트 4 | 통과 (0.84ms, 52.3MB) |
테스트 5 | 통과 (0.92ms, 54.5MB) |
테스트 6 | 통과 (0.82ms, 52.5MB) |
테스트 7 | 통과 (0.83ms, 52.1MB) |
테스트 8 | 통과 (0.83ms, 52.2MB) |
테스트 9 | 통과 (0.90ms, 50.8MB) |
테스트 10 | 통과 (0.83ms, 52.7MB) |
테스트 11 | 통과 (0.84ms, 52.9MB) |
테스트 12 | 통과 (0.84ms, 52.5MB) |
테스트 13 | 통과 (0.82ms, 50.4MB) |
테스트 14 | 통과 (0.74ms, 52.6MB) |
테스트 15 | 통과 (0.90ms, 52.1MB) |
테스트 16 | 통과 (0.86ms, 52.9MB) |
테스트 17 | 통과 (0.81ms, 52.7MB) |
테스트 18 | 통과 (0.86ms, 52.4MB) |
테스트 19 | 통과 (0.85ms, 50.1MB) |
테스트 20 | 통과 (0.95ms, 52.4MB) |
테스트 21 | 통과 (0.81ms, 50.4MB) |
테스트 22 | 통과 (0.80ms, 51.9MB) |
테스트 23 | 통과 (0.88ms, 52.3MB) |
테스트 24 | 통과 (0.87ms, 51.9MB) |
테스트 25 | 통과 (0.87ms, 50.4MB) |
테스트 26 | 통과 (0.88ms, 52.1MB) |
테스트 27 | 통과 (0.89ms, 52.4MB) |
테스트 28 | 통과 (0.88ms, 52.2MB) |
테스트 29 | 통과 (0.85ms, 52.7MB) |
테스트 30 | 통과 (0.89ms, 51.8MB) |
테스트 31 | 통과 (0.85ms, 50.2MB) |
테스트 32 | 통과 (0.83ms, 52MB) |
테스트 케이스
1 | assertEquals(37, test.solution("1S2D*3T")); |
- 프로그래머스에서 제공한 예제 테스트 케이스이므로
위 테스트케이스를 모두 통과하여도 실제 테스트에선 통과하지 못할 수 있음.