백준 14719 빗물 Python

Derhon·2023년 12월 1일
0

백준 14719 빗물

19.06m

나의 답

import sys

n, m = list(map(int, sys.stdin.readline().rstrip().split()))
fills = list(map(int, sys.stdin.readline().rstrip().split()))
block = [[0] * m for _ in range(n)]
for j in range(m):
    for i in range(fills[j]):
        block[i][j] = 1

cnt = 0

for i in range(n):
    for j in range(m):
        if 1 in block[i][:j] and 1 in block[i][j+1:]:
            if not block[i][j]:
                block[i][j] = 1
                cnt += 1

print(cnt)

2차원 리스트로 받아놓고, 단순히 지금 위치보다 왼쪽과 오른쪽에 채워져있는 블록이 있다면 그 위치를 물로채우면서 cnt를 1씩 늘려갔다.
간단한 구현문제였다!

profile
🧑‍🚀 이사했어요 ⮕ https://99uulog.tistory.com/

0개의 댓글