TIL | 알고리즘 | 코드카타 10일 (2주 5일)

이도운·2022년 1월 21일
0

TIL

목록 보기
59/73
post-thumbnail

문제

인자인 height는 숫자로 이루어진 배열입니다.그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다.

아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다.

https://storage.googleapis.com/replit/images/1555380144403_97221ca23fbb92beaae5b6c800ceb5c8.pn

저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요.

풀이

def get_max_area(height_list):
  length = len(height_list)
  result_list = []

  for i in range(0, length):
    for j in range(0, length):
      if i == j:
        continue
      elif j > i:
        length = j - i
      elif j < i:
        length = i - j
    
      height = min(height_list[i], height_list[j])
      result = length * height
      result_list.append(result)
  
  return max(result_list)

print(get_max_area([1, 8, 6, 2, 5, 4, 8, 3, 7]))
profile
⌨️ 백엔드개발자 (컴퓨터공학과 졸업)

0개의 댓글