스트라이크 , 볼 로직을 계속 수정해봐도 볼을 제대로 세주지 않아서 환장할 노릇이었다
그러다가 어제 풀었던 알고리즘문제가 떠올라서 프린트 문으로 디버깅해가며 잘못된 부분을 찾는 것이 생각났다.
해야할 일:
1. 일단 그 판에 생성된 답이 뭔지 프린트
2. 스트라이크, 볼 둘다 프린트
디버깅을 해보니 실제 내부에서는 제대로 세고 있었지만 메세지 출력 조건문이 잘못되어있었다
카운트 로직과 메세지 출력을 부분을 개별로 작성했더니 둘이 따로 놀고 있었음..(..)
if result.0 == 3 {
print("\(result.0)스트라이크, 게임 승리!")
break
} else if result.0 != 0, result.1 == 0 {
print("\(result.0)스트라이크")
} else if result.0 != 0, result.1 != 0 {
print("\(result.0)스트라이크, \(result.1)볼")
} else {
print("nothing")
}
..🤔?
0스트라이크 1볼의 상황이 없었고 추가해주었다
실제 카운트와 일치하게 되었다
중간중간 프린트해가며 구현하는 것을 습관화해야할 것 같다