bupjae   4년 전

10~14번째 줄: 보너스 횟수를 계산하기 위한 부분입니다.

마지막에서 두 칸 앞에 있는 글자가 S인 경우: 10프레임에서 스트라이크를 맞췄고, 보너스는 2회입니다.

마지막에서 한 칸 앞에 있는 글자가 P인 경우: 10프레임에서 스페어를 맞췄고, 보너스는 1회입니다.

 

15~26번째 줄: (추가 점수 계산 전의) 넘어뜨린 핀의 개수를 계산하기 위한 부분입니다. 이 계산은 보너스 기회를 포함해서 계산합니다.

S는 10개, 일반 숫자는 그 숫자가 나타내는 개수, P는 (10 - 바로 직전에 맞춘 개수)

 

27~37번째 줄: 추가 점수를 계산하기 위한 부분입니다. 이 계산은 보너스 기회를 제외하고 계산합니다.

일단 현재 쓰러뜨린 개수를 누적한 뒤

S였다면 다음번 + 다음다음번 개수를 추가로 누적하고, P였다면 다음번 개수를 추가로 누적합니다.

 

틀렸습니다 결과를 얻고 난 뒤, 스스로도 데이터를 만들어 보기도 하고, Google Image 검색 [볼링 점수표] 에 나오는 점수표를 입력해 보기도 했지만

어디가 틀렸는지 아직도 잘 모르겠습니다.

 

사용중인 언어는 golang 입니다만, C/C++, Java, Python 등의 "일반적인" 언어에 익숙하신 분이면 프로그램을 보시는데 큰 지장이 없을 것 같습니다.

bupjae   4년 전

Slack 채팅방에서 답변을 받았습니다.

이 답안은 9프레임에 스트라이크를 맞추고 10프레임에 스트라이크 또는 스페어를 맞추지 못한 경우 보너스 홧수를 잘못 판단합니다.

댓글을 작성하려면 로그인해야 합니다.