알고리즘 공부/백준
(Python)백준 코딩테스트 연습 - 행렬(1080)
HRuler
2023. 6. 24. 17:38
1. 문제
https://www.acmicpc.net/problem/1080
1080번: 행렬
첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다.
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# n, m : 행렬 크기
n, m = map(int, input().split())
a_array = []
b_array = []
for i in range(n):
a_array.append(list(input()))
for i in range(n):
b_array.append(list(input()))
cnt = 0
for i in range(0, n - 2):
for j in range(0, m - 2):
if a_array[i][j] != b_array[i][j]:
cnt += 1
for p in range(i, i + 3):
for q in range(j, j + 3):
if a_array[p][q] == "0":
a_array[p][q] = "1"
else:
a_array[p][q] = "0"
if a_array == b_array:
print(cnt)
else:
print(-1)