일상 코딩
[python] 백준 알고리즘 1236번 성 지키기, 배열 회전, max() 본문
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
'코딩테스트 > 백준 online Judge' 카테고리의 다른 글
[python] 백준 알고리즘 2110번 공유기 설치, 이진 탐색 풀이 (0) | 2021.11.13 |
---|---|
[python] 백준 알고리즘 1302번 베스트셀러, sorted()를 이용한 풀이 (0) | 2021.11.13 |
[python] 백준 알고리즘 1543번 문서 검색, 리스트 슬라이싱을 활용한 풀이 (0) | 2021.11.12 |
[python] 백준 알고리즘 7490번 0 만들기, 중복순열 풀이법 (0) | 2021.11.11 |
[python] 백준 알고리즘 1074번 Z, 다이나믹 프로그래밍 풀이법 (0) | 2021.11.10 |