[백준/파이썬] 1236번 성 지키기 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 1236번 성 지키기
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
성의 각 행/열에 최소 한 명의 경비병이 있어야 할 때, 추가로 필요한 최소 경비병 수를 구하는 문제입니다.
코드
n,m=map(int,input().split())
row,col=[False]*n,[False]*m
for i in range(n):
s=input()
for j in range(m):
if s[j] == 'X':row[i]=col[j]=True
print(max(len(list(filter(lambda x:not x, row))),len(list(filter(lambda x:not x, col)))))
설명
경비병이 없는 행 수와 열 수를 각각 세고, 둘 중 큰 값이 정답입니다.
한 명의 경비병이 행과 열을 동시에 커버할 수 있기 때문에
최소 추가 인원은 max(빈 행 수, 빈 열 수)가 됩니다.
댓글남기기