코딩고치

[파이썬][백준] 1236번: 성 지키기 본문

파이썬/백준 문제

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

코딩고치 2020. 5. 31. 23:40

1. 문제

주소: https://www.acmicpc.net/problem/1236

 

1236번: 성 지키기

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

www.acmicpc.net

문제 유형: 탐색

 

  • 경비원의 수를 받기 위한 행과 열 리스트 선언
  • 경비원의 위치를 입력받고 경비가 있는 곳을 파악한 후 리스트에 저장
  • 행의 부족인원이 열의 부족인원보다 많으면 행의 부족인원수를 출력
  • 열의 부족인원이 더 많으면 열의 부족인원 출력

2. 소스코드

import sys


def guard(n, m):
    col = [0 for i in range(n)]
    row = [0 for i in range(m)]
    for i in range(n):
        guard_list = list(map(str, sys.stdin.readline().strip()))
        for j in range(m):
            if guard_list[j] == 'X':
                col[i] += 1
                row[j] += 1
    if col.count(0) > row.count(0):
        return col.count(0)
    else:
        return row.count(0)


n, m = map(int, sys.stdin.readline().split(' '))
print(guard(n, m))
Comments