
h, w = map(int,input().split())
data = list(map(int,input().split()))
table = [[0]*w for i in range(h)]
for j, value in enumerate(data): # j 너비
for i in range(value):
table[i][j] = 1
rst = 0
for i in range(h):
wall = False
count = 0
for j in range(w):
if table[i][j] == 1:
if wall:
rst+=count
count = 0
else:
wall = True
count = 0
else:
if wall:
count += 1
print(rst)
푸는데 10분 정도 걸린 것 같다. 코드 설명을 간단히 하자면, table을 만들 때, x축 대칭을 한 것처럼 데이터를 저장했다. 그래서 비가 밑에서 위로 내린다고 생각하고 풀었다. 이렇게 한 특별한 이유가 있던 건 아니고 table을 쉽게 만들기 위해서다.
1. 윗줄부터 가로로 탐색한다.
2. 만약 벽이 나온다면, 둘 중 하나다.
