choko100   5년 전

아래의 코드 중 빙고판을 체크하는 경우, if numOfBingo == 3: 부분들을 모두 numOfBingo >= 3: 으로 바꿨더니 성공하였습니다. 

한 번 부르는 경우, 가로판도 1개가 늘어나고, 세로판도 1개가 늘어나고, 이런 식이면 3을 항상 거치게 될 것 같은데, 왜 >= 3으로 바꿔야하는지 모르겠습니다ㅠㅠ

jeonsewallse   5년 전

반례 케이스 중 하나로

이전에 가로 빙고가 1개, 세로 빙고가 1개 상태에서

한번에 가로 빙고가 2개, 세로 빙고가 2개로 증가한 상황을 놓칩니다.

예를들어 빙고판 이전에 상태가 아래와 같다면

■   ■   ■   ■   ■

□   □   ■   □   ■

□   □   ■   □   ■

■   ■   □   ■   ■

□   □   ■   □   ■

빙고는 가로 1줄, 세로 1줄 총 2줄입니다.

만약에 사회자가 [3, 2] 를 불렀다면

■   ■   ■   ■   ■

□   □   ■   □   ■

□   □   ■   □   ■

■   ■   ■   ■   ■

□   □   ■   □   ■

빙고는 가로 2줄, 세로 2줄 총 4줄입니다.

if 입장에서는 3을 건너 뛰기 때문에 이를 빙고라 인식하지 못한 것입니다.

choko100   5년 전

오 천재 전세월세님 감사합니다.

이렇게 2개 다음에 2개가 추가되는 경우가 있군요!!!!!

선생님은 천재에요!!!!!!!!!!

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