반응형
https://www.acmicpc.net/problem/14719
14719번: 빗물
첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치
www.acmicpc.net
내가 한 풀이
주어진 block 리스트 중 가장 큰 값을 가진 인덱스를 구하고 maxIndex라고 선언한다.
1번째 for문에서는 0부터 maxIndex 까지 돌면서
temp 보다 block[i]가 더 크면, total에 더한 후 temp를 block[i] 값으로 변경해준다.
2번째 for문에서는 w-1부터 maxIndex까지 감소하며 돌면서
같은 동작을 해준다.
마지막에 누적된 total 값에서 block의 합(쌓여있는 블록 개수) 만큼 빼준다.
h,w=map(int,input().split(" "))
block=list(map(int,input().split(" ")))
maxH,maxL=1,0
total=0
temp=0
for i in range(len(block)):
if maxH<block[i]:
maxH=block[i]
maxIndex=i
#1번째 for문
for i in range(maxIndex+1):
if block[i]>temp:
temp=block[i]
total+=temp
temp=0
#2번째 for문
for i in range(w-1,maxIndex,-1):
if block[i]>temp:
temp=block[i]
total+=temp
print(total-sum(block))
'코테 공부' 카테고리의 다른 글
백준[13458] 시험 감독 (파이썬 풀이) (0) | 2021.10.07 |
---|---|
백준[11000] 강의실 배정 (파이썬 풀이) (0) | 2021.10.06 |
백준[2588] 곱셈 (파이썬 풀이) (0) | 2021.10.06 |
백준[2504] 괄호의 값 (파이썬 풀이) (0) | 2021.10.06 |
백준[14888] 연산자 끼워넣기 (파이썬 풀이) (0) | 2021.10.05 |