본문 바로가기

BOJ 알고리즘 (패캠)/정렬, 탐색

1236번: 성 지키기 (탐색) - Fastcampus

www.acmicpc.net/problem/1236

 

1236번: 성 지키기

첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다

www.acmicpc.net

# 필요한 경비원의 수
# - 모든 행과 열에 경비원이 있어야 한다
# - 경비원이 없는 행의 개수, 경비원이 없는 열의 개수 중 큰값

def search(N, M, MP):
    g_row = [0] * N
    g_col = [0] * M

    for i in range(N):
        for j in range(M):
            if MP[i][j] == "X":
                g_row[i] = 1
                g_col[j] = 1

    need_g_row = N - sum(g_row)
    need_g_col = M - sum(g_col)
    return max(need_g_row, need_g_col)


N, M = map(int, input().split())
MP = [input() for _ in range(N)]
print(search(N, M, MP))