# 문제
# 풀이
각 행과 열에는 하나 이상의 경비원이 존재해야 한다. 일단 행 검사를 통해 경비원의 유무를 파악하고 변수를 만들어 담고, 열 검사를 통해 해 당열을 지키는 경비원이 있는지 파악한다.
행,열중 최대값을 출력하면 된다.
그리고 굳이 이중 배열을 사용하지 않고 배열에 문자열을 담고 배열에 접근한 인덱스로 알아낸 문자열의 인덱스로 접근할 수 있다.
# 코드
import sys
def solve():
row,col = map(int,sys.stdin.readline().strip().split())
castle = []
for i in range(row):
castle.append(sys.stdin.readline().strip())
plus_row = 0
for i in range(row):
row_guard = False
for j in range(col):
if castle[i][j] == 'X':
row_guard = True
if not row_guard:
# 해당 행에는 경비원이 없음
plus_row += 1
plus_col = 0
for i in range(col):
col_guard = False
for j in range(row):
if castle[j][i] == 'X':
col_guard = True
if not col_guard :
plus_col +=1
print(max(plus_col,plus_row))
if __name__ == '__main__':
solve()
# 마치며
'•알고리즘(Algorithm ) > 문제풀이' 카테고리의 다른 글
[백준4179&파이썬] 불!/BFS를 이용해 조건에 맞는 최단거리를 구하는 방법 (0) | 2023.04.04 |
---|---|
[백준1926&파이썬] BFS를 활용하여, 연결된 노드의 너비를 세는 방법 (0) | 2023.04.04 |
[백준-1302] 베스트 셀러 파이썬 풀이 (0) | 2022.08.09 |
[백준-1543] 문서 검색 파이썬 풀이 (0) | 2022.08.09 |
[백준-1568] 새 파이썬 풀이 (0) | 2022.08.09 |