# n과 m을 입력받기
n, m = map(int, input().split())
no_n = set()
no_m = set()
# n개의 행을 입력받아 처리
for i in range(n):
ch = input()
l = list(ch)
for j in range(m):
if l[j] == 'X':
no_n.add(i)
no_m.add(j)
# no_n과 no_m의 길이
len_n = n - len(no_n)
len_m = m - len(no_m)
# 큰 거를 고르면 되는 이유는 최소의 경비원만 설치한다는 의미
# 최적의 선택을 한다는 가정 하에, (가로 세로)를 한 번에 지우는 경우를 먼저 선택하므로
# 작은 쪽은 자동으로 만족된다.
big = max(len_n, len_m)
print(big)
'알고리즘 배우기' 카테고리의 다른 글
[프로그래머스] Lv 2. 게임 맵 최단거리 (0) | 2024.07.19 |
---|---|
[프로그래머스] Lv 3. 네트워크 (0) | 2024.07.19 |
[프로그래머스] Lv 2. 전화번호 목록 (0) | 2024.07.16 |
[알고리즘 정리] 다익스트라 (0) | 2024.07.14 |
[프로그래머스] Lv 2. H-index (0) | 2024.07.14 |