알고리즘 빙고 문제
문제 해결 과정
- 숫자를 지울 수 있어야 한다.
- 몇 줄이 완성되었는가?
어려웠던 점
- 몇 줄이 완성되었는지를 어떻게 카운트할것인가?
숫자를 지우는 것까지는 구현할 수 있을거 같은데 몇줄이 완성되었는지 어떻게 카운트할지는 감이 안잡혔음.
if data[0][0]==-1 && data[0][1]=-1 ...data[0][4]=-1
만약 불려진 수를 -1로 바꾼다고 하면 위와 같은 반복문을 가로 5번 + 세로 5번 + 대각선 2번 반복하면 될거 같지만 너무 비효율적일거 같음.
-> 3중 반복문을 사용해서 숫자 하나가 불릴때마다 빙고인지 확인한다.
코드
arr=[]
numList=[]
result=0
bingo=0
for _ in range(5):
arr.append(list(map(int,input().split())))
for _ in range(5):
numList+=list(map(int,input().split()))
for k in range(len(numList)):
for i in range(5):
for j in range(5):
bingo=0
if arr[i][j]==numList[k]:
arr[i][j]=-1
result+=1
for m in range(5):
if arr[m][0]==-1 and arr[m][1]==-1 and arr[m][2]==-1 and arr[m][3]==-1 and arr[m][4]==-1:
bingo+=1
for m in range(5):
if arr[0][m]==-1 and arr[1][m]==-1 and arr[2][m]==-1 and arr[3][m]==-1 and arr[4][m]==-1:
bingo+=1
if arr[0][0]==-1 and arr[1][1]==-1 and arr[2][2]==-1 and arr[3][3]==-1 and arr[4][4]==-1:
bingo+=1
if arr[0][4]==-1 and arr[1][3]==-1 and arr[2][2]==-1 and arr[3][1]==-1 and arr[4][0]==-1:
bingo+=1
if bingo>=3:
print(result)
exit()
Author And Source
이 문제에 관하여(알고리즘 빙고 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eunyoung23/알고리즘-빙고-문제저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)