니노니나니

[백준/21665번] Миша и негатив - B4/Python 본문

알고리즘/백준

[백준/21665번] Миша и негатив - B4/Python

SangJunni 2024. 5. 26. 21:35

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

문제

미샤는 이미 좋은 사진을 찍는 법을 배우고 최근에 프로그래밍에 관심을 갖기 시작했습니다. 그의 첫 번째 프로그램은 이진 흑백 이미지의 네거티브를 형성하는 것을 허용합니다.

이진 흑백 이미지는 각각이 검은색 또는 흰색인 픽셀로 구성된 직사각형입니다. 이러한 이미지의 네거티브는 각 검은 픽셀을 흰색으로 대체하고 각 흰 픽셀을 검은색으로 대체함으로써 얻어집니다.

초보 프로그래머로, 미샤는 자신의 프로그램에 오류를 포함하여 결과적으로 얻은 네거티브가 부정확할 수 있습니다. 얻은 네거티브와 이미지 간의 불일치 수준을 평가하기 위해 미샤는 자신의 프로그램을 테스트하기 시작했습니다.

입력 데이터로는 원본 이미지를 사용했습니다. 프로그램에 의해 생성된 네거티브를 주의 깊게 분석하기 시작하여 각 시도마다 네거티브에서 오류가 발생한 픽셀의 수를 결정했습니다.

원본 이진 흑백 이미지와 미샤의 프로그램에서 얻은 네거티브를 입력 데이터로 사용하고, 이를 기반으로 오류가 발생한 픽셀의 수를 결정하는 프로그램이 필요합니다.

입력

입력 파일의 첫 번째 줄에는 정수 n과 m (1 ≤ n, m ≤ 100)이 포함됩니다. 이는 원본 이미지의 높이와 너비를 픽셀 단위로 나타냅니다.

다음 n개의 줄에는 원본 이미지의 설명이 포함됩니다. 각 줄은 m개의 문자 "B"와 "W"로 구성됩니다. 문자 "B"는 검은 픽셀을 나타내고, 문자 "W"는 흰 픽셀을 나타냅니다.

그 다음에는 빈 줄이 따라오고, 그 뒤에는 미샤의 프로그램에 의해 출력된 이미지의 설명이 있습니다. 이 설명은 원본 이미지와 동일한 형식으로 구성됩니다.

풀이

n, m = map(int, input().split())
origin = []
invert = []
for _ in range(n):
    origin.append(input())
temp = input()
for _ in range(n):
    invert.append(input())
result = 0
for i in range(n):
    for j in range(m):
        if origin[i][j] == invert[i][j]:
            result += 1
print(result)

해결방법

같은 위치의 값이 같으면 오류가 발생한 것이기 때문에 같은 경우를 세서 출력하면 되는 문제.