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

Python에서 행 반전 후 Matrix가 변경되지 않은 상태로 유지되는지 확인

<시간/>

정방 행렬이 있다고 가정합니다. 각 행에 대해 행 반전 연산을 수행한 후 행렬이 동일하게 유지되는지 여부를 확인해야 합니다.

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

6 8 6
2 8 2
3 3 3

그러면 출력은 True

가 됩니다.

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

  • n :=행렬의 행 수
  • 0 ~ n - 1 범위의 i에 대해
    • 왼쪽 :=0, 오른쪽 :=n - 1
    • 왼쪽 <=오른쪽, do
      • 행렬[i, 왼쪽]이 행렬[i, 오른쪽]과 같지 않으면
        • 거짓을 반환
      • 왼쪽 :=왼쪽 + 1, 오른쪽 :=오른쪽 - 1
  • 참 반환

예시

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

def solve(matrix):
   n = len(matrix)
   for i in range(n):
      left = 0
      right = n - 1
      while left <= right:
         if matrix[i][left] != matrix[i][right]:
            return False
         left += 1
         right -= 1
   return True
matrix = [
         [6,8,6],
         [2,8,2],
         [3,3,3]]
print(solve(matrix))

입력

[
   [6,8,6],
   [2,8,2],
   [3,3,3]]

출력

True