BAEKJOON (Python)/Greedy Algorithm

BAEKJOON_1455 "뒤집기 II" PYTHON

RiLLa_0511 2023. 5. 22. 12:03
728x90

[백준] 1455번 Python 파이썬

 

https://www.acmicpc.net/problem/1455

 

 

1455번: 뒤집기 II

세준이는 동전 뒤집기를 하려고 한다. 세준이는 동전을 N×M개 가지고 있다. 동전은 세로로 N개, 가로로 M개 크기의 직사각형에 차곡차곡 놓여져 있다. 동전의 앞면을 0이라고 하고 뒷면을 1이라고

www.acmicpc.net

 

Greedy Algorithm을 이용하여 푸는 문제이다.

 

입력받은 행렬의 앞쪽부터 변경할 경우, 뒤쪽을 바꾸면서 앞쪽이 또 바뀔 수 있기 때문에 뒤쪽의 수부터 바꾸어 준다.

 

n, m = map(int, input().split())
lst = []
result = 0

for _ in range(n):
    a = list(map(int, input().rstrip()))
    lst.append(a)

for i in range(n-1,-1,-1):
    for j in range(m-1,-1,-1):
        if lst[i][j] == 1:
            for k in range(i+1):
                for l in range(j+1):
                    if lst[k][l] == 0:
                        lst[k][l] = 1
                    else:
                        lst[k][l] = 0
            result += 1
        else:
            continue
print(result)

 

 

혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.