배고픈 개발자 이야기

832. Flipping an image (feat.PYTHON) 본문

알고리즘 문제/LEETCODE

832. Flipping an image (feat.PYTHON)

이융희 2019. 9. 1. 20:49
728x90

832. Flipping an Image

Easy

Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image.

To flip an image horizontally means that each row of the image is reversed.  For example, flipping [1, 1, 0] horizontally results in [0, 1, 1].

To invert an image means that each 0 is replaced by 1, and each 1 is replaced by 0. For example, inverting [0, 1, 1] results in [1, 0, 0].

Example 1:

...더보기

Input: [[1,1,0],[1,0,1],[0,0,0]]

Output: [[1,0,0],[0,1,0],[1,1,1]]

Explanation: First reverse each row: [[0,1,1],[1,0,1],[0,0,0]].

Then, invert the image: [[1,0,0],[0,1,0],[1,1,1]]

Example 2:

...더보기

Input: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]

Output: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

Explanation: First reverse each row: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]].

Then invert the image: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

Notes:

  • 1 <= A.length = A[0].length <= 20
  • 0 <= A[i][j] <= 1

풀이:

2차원 배열로 저장되어있는 IMAGE의 값들을 위의 예시와 같이 역순으로 뒤집고 0과 1을 inverse해주는 문제입니다.

class Solution(object):
    def flipAndInvertImage(self, A):
        B = A

        for i, x in enumerate(B):
            B[i] = x[::-1]

            for j, y in enumerate(x):
                if y: B[i][j] = 0
                else: B[i][j] = 1
        
        return B

위와 같이 입력 배열을 역순으로 뒤집고 루프안에서 조건문을 활용하여 0과 1을 역변환 시켜줍니다.

 

 

Comments