BOJ - 1455

주의·2024년 1월 15일
0

boj

목록 보기
73/214

백준 문제 링크
뒤집기 II

❓접근법

  1. 가장 안쪽(오른쪽 아래)부터 가장 바깥쪽(왼쪽 위)까지
    역으로 살펴보면서, 동전이 1이면 그 범위에 해당하는 동전의 앞뒤를 바꾼다.
    아래 그림을 참고하면 좋을 것 같다.
  2. 앞뒤를 바꾸는 함수 reverse를 만들고,
    역으로 살펴보면서 동전이 1이면 reverse 함수를 실행시키고,
    answer + 1 한다.
  3. answer를 출력하면 끝

👌🏻코드

N,M = map(int, input().split())

coin = []
for _ in range(N):
    coin.append(list(map(int, input())))

answer = 0

def reverse(x,y):
    for i in range(x+1):
        for j in range(y+1):
            if coin[i][j] == 0:
                coin[i][j] = 1
            else:
                coin[i][j] = 0
                
for i in range(N-1, -1, -1):
    for j in range(M-1, -1, -1):
        if coin[i][j] == 1:
            reverse(i,j)
            answer += 1
            
print(answer)

0개의 댓글