[알고리즘 문제풀이] 코드카타 7

나른한 개발자·2022년 1월 23일
0

문제풀이

목록 보기
7/13

인자인 height는 숫자로 이루어진 배열입니다.그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다.
아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다.
저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요.

풀이과정

  • 반복문을 돌며 해당 원소와 넓이를 가장 넓게 만들 수 있는 원소를 탐색한다.

코드

def get_max_area(height):
  area = []
  length = len(height)

  for i in range(length):
    for j in range(i+1, length):
      hei = height[i] if height[i] <= height[j] else height[j]
      width = abs(i-j)
      area.append(hei * width)
      
  return max(area)
profile
Start fast to fail fast

0개의 댓글