본문 바로가기

BOJ/Python

[BOJ/백준] 30585 - Поп-ит (Python)

문제

문제링크

팝잇의 높이와 너비가 주어질 때, 처음 판매될 때의 원래 상태로 돌리기 위해 눌러야하는 최소 버블의 수를 구하라.

 

풀이

모든 버블의 상태를 1 (안으로 눌린 상태) 또는 0 (밖으로 나온 상태)으로 맞춰야 하므로 둘의 개수 모두 세서 현재 적은 것을 다른 상태로 바꿔야 한다.

0과 1로 이루어진 줄 단위로 버블들의 현재 상태를 입력받는다. (이때 너비는 그리 중요하지 않다.)

각 줄마다 1과 0의 개수를 세서 더하고 최종 1과 0의 개수 중 최소값을 출력하면 된다.

 

코드

h, w = map(int, input().split())

one_bubbles, zero_bubbles = 0, 0
for _ in range(h):
    bubble=input()
    one_bubbles+=bubble.count('1')
    zero_bubbles+=bubble.count('0')
print(min(one_bubbles, zero_bubbles))