Problem Solving/백준
백준 2578 빙고
minOE
2025. 7. 8. 09:20
728x90
https://www.acmicpc.net/problem/2578
def check_line(cnt):
for i in range(5):
if sum(check[i]) == 5:
cnt+=1
for i in range(5):
temp =0
for j in range(5):
temp += check[j][i]
if temp == 5:
cnt+=1
temp =0
for i in range(5):
for j in range(5):
if i== j :
temp += check[i][j]
if temp ==5 :
cnt+=1
temp = 0
for i in range(5):
for j in range(5):
if i+ j ==4:
temp += check[i][j]
if temp ==5:
cnt+=1
return cnt >=3
matrix = [list(map(int,input().split())) for _ in range(5)]
elems = [list(map(int,input().split())) for _ in range(5)]
check = [[0 for _ in range(5)] for _ in range(5)]
d= dict()
for i in range(5):
for j in range(5):
d[matrix[i][j]] = (i,j)
ans =0
for i in range(5):
for j in range(5):
x,y =d[elems[i][j]]
check[x][y] =1
ans +=1
flag = check_line(0)
if flag:
print(ans)
break
if flag:
break
더 깨끗하게 짤 수 있을 것 같다 .. 추후에 다시 리팩토링 해봐야겠다
728x90