어제 두번째 스터디에서 실버1 스택 문제에서 좌절했다....
오늘 마음 다잡고 새로운 문제를 풀었다
시뮬레이션 문제이고 결과는 성공!!!
시뮬레이션은 한층한층 구현에 신경쓰면 풀리는 문제인것 같다.
삼전에 한걸음 다가간것이가?
import sys
input = sys.stdin.readline
h,w = map(int,input().split())
matrix = [[0 for i in range(w)] for j in range(h)]
rain = list(map(int,input().split()))
for i,val in enumerate(rain):
    for j in range(val):
        matrix[j][i] = 1
ans = 0
for i,mat in enumerate(matrix):
    j = 0
    while j < w:
        if matrix[i][j] == 1:
            low = j
            high = j+1
            while high<w:
                if matrix[i][high] == 1:
                    break
                high+=1
            if high < w:
                ans += high-low-1
            j = high
        else:
            j+=1
print(ans)2차원 배열로 만들어준뒤 1층부터 차근차근 살펴봤다.
처음 1이 등장할때 low이고 그 뒤 1이 등장하면 high다.
high-low-1 이란 식으로 빈칸을 계산해준다.
새로운 low는 high 위치이다.
이렇게 해주니 다행히 예외 없이 풀렸다!
삼전 코테 화이팅!