250x250
Notice
Recent Posts
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
관리 메뉴

일상 코딩

[python] 백준 알고리즘 1236번 성 지키기, 배열 회전, max() 본문

코딩테스트/백준 online Judge

[python] 백준 알고리즘 1236번 성 지키기, 배열 회전, max()

polarcompass 2021. 11. 13. 10:23
728x90

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

 

1236번: 성 지키기

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

www.acmicpc.net

N, M = map(int, input().split())
B = [list(input()) for _ in range(N)]
cnt = 0

def X_check(arr):
    ret = 0
    for i in arr:
        if 'X' in i:
            continue
        else:
            ret += 1
    return ret

def rotated(array_2d):
    return [list(elem) for elem in zip(*array_2d[::-1])]

for i in [B, rotated(B)]:
    cnt = max(X_check(i), cnt)

print(cnt)

입력 예제

5 8
....XXXX
........
XX.X.XX.
........
........

출력 예제

3

여기서 중요한 개념은 행 기준으로 나온 값과

열 기준으로 나온값을 비교하여 더 큰 값을 출력하는 것이다.

따라서 마지막 코드에서 max() 함수를 사용하였다.

728x90