Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 행렬에서 i 번째 행과 i 번째 열의 합이 동일한지 확인하십시오.

<시간/>

2D 행렬이 있다고 가정합니다. i번째 행의 합이 i번째 열의 합과 같은지 확인해야 합니다.

따라서 입력이 다음과 같으면

2
3
4
5
10
6
4
2
1
4
6
7
1
5
6
7

첫 번째 행과 열의 합이 (2 + 3 + 4 + 5) =14이고 (2 + 10 + 1 + 1) =14이므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • row :=매트의 행 수
  • col :=매트의 열 개수
  • total_row :=0, total_col :=0
  • 0~1행 범위의 i에 대해
    • total_row :=0, total_col :=0
    • 0에서 col - 1까지의 범위에 있는 j에 대해
      • total_row :=total_row + mat[i, j]
      • total_col :=total_col + mat[j, i]
    • total_row가 total_col과 같으면
      • 참 반환
  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시 코드

def solve(mat):
   row = len(mat)
   col = len(mat[0])
   total_row = 0
   total_col = 0
   for i in range(row):
      total_row = 0
      total_col = 0
      for j in range(col):
         total_row += mat[i][j]
         total_col += mat[j][i]
       
      if total_row == total_col:
         return True
     
   return False
 
matrix = [
   [2,3,4,5],
   [10,6,4,2],
   [1,4,6,7],
    [1,5,6,7]
]
     
print(solve(matrix))

입력

[    
[1,2,3,4],     

[9,5,3,1],     

[0,3,5,6],    

[0,4,5,6]

]

출력

True