배열의 정적인 크기를 보완하기 위해 나온 동적 배열이 바로 리스트이다 (자바 → ArrayList,
c++→ vector)
문제7. 두수의 합
❓질문
문제 8. 빗물 트래핑
풀이2. 스택 쌓기
def trap(self,height,List[int]) -> int:
stack =[]
volumn = 0
for i in range(len(height)):
while stack and height[i]<height[stack[-1]]: #stack이 비어있지 않고 현재 높이가 이전 높이 보다 클 때
top = stack.pop()
if not len(stack):
break
#이전과의 차이만큼 물높이 처리
distance = i - stack[-1] -1
waters = min(height[i],height[stack[-1]])-height[top]
volume += distance * waters
stack.append(i)
return volume