알고리즘

[백준, 파이썬, 1236번] 성 지키기

hminor 2023. 12. 27. 13:11

풀이

  • 해당 문제는 간단하게 각 행과 열에 경비병이 있는지에 대한 유무를 조사하며
  • 카운팅하면 되는 문제인데
  • 다만 문제점으로는 정사각형이 아닌 직사각형이기에 조금 귀찮은 문제이다,
  • 그래서 따로 2중 for문을 주어 해결할 수 있었다.

 

import sys
input = sys.stdin.readline

n,m = map(int,input().split())
mtx = [list(input().rstrip('\n')) for _ in range(n)]
cnt1 = 0
cnt2 = 0
for i in range(n):
    state = False
    for j in range(m):
        if mtx[i][j] == "X":
            state = True
            break
    if not state: cnt1 += 1

for i in range(m):
    state = False
    for j in range(n):
        if mtx[j][i] == "X":
            state = True
            break
    if not state: cnt2 += 1
print(max(cnt1,cnt2))