사회자가 매 숫자를 부를 때마다 빙고판을 조사하여 빙고 카운트가 3개 이상인지 확인한다.
대각선을 확인하는 방법은 다음과 같다.
if all(bingo[i][i] == 0 for i in range(5)):
bingoCnt += 1
if all(bingo[i][5-1-i] == 0 for i in range(5)):
bingoCnt += 1
이런 식으로 가로, 세로, 왼쪽 대각선, 오른쪽 대각선을 확인한다.
import sys
input = sys.stdin.readline
bingo = [list(map(int, input().rstrip().split())) for _ in range(5)]
def solve(num):
bingoCnt = 0
for i in range(5):
for j in range(5):
if bingo[i][j] == num:
bingo[i][j] = 0
for i in range(5):
if len(set(bingo[i])) == 1:
bingoCnt += 1
for i in range(5):
col = [row[i] for row in bingo]
if len(set(col)) == 1:
bingoCnt += 1
if all(bingo[i][i] == 0 for i in range(5)):
bingoCnt += 1
if all(bingo[i][5-1-i] == 0 for i in range(5)):
bingoCnt += 1
return bingoCnt
s = 0 #위치 조사(행)
nums = []
for i in range(5):
nums.append(list(map(int, input().rstrip().split())))
for i in range(5):
for j in range(5):
if solve(nums[i][j]) >= 3:
print(s+1+j) #사회자가 몇번째 숫자를 불렀는가
exit()
s += 5