[python 기초] Code-kata week2-5
🖥 Code-kata week2-5
문제
인자인 height는 숫자로 이루어진 배열입니다.그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다.
아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다.
저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요.
풀이
사실 이 문제는, code kata 시간 때 다른 동기들이 풀었던 방법을 잘 이해하지 못하다가 집에와서 다시 보니 좀 더 문제가 잘 보였다.
가장 단순하게 모든 경우의 수를 구하는 brute force 방식을 사용하면:
- 먼저 첫 번째 숫자를 기준으로 잡는다.
- 두 번째 숫자부터 곱한다: height[0] x height[1], height[0] x height[2] ...
- 이번엔 두 번째 숫자를 기준으로 또 돈다: height[1] x height[2], height[2] x height[3]...
- 그 중 최대값을 return 한다
def get_max_area(height):
result = 0
for i in range(0,len(height)-1):
for j in range(i+1, len(height)):
x = j - i
y = min(height[i], height[j])
area = x * y
result = max(result, area)
return result
Author And Source
이 문제에 관하여([python 기초] Code-kata week2-5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mquat/python-기초-Code-kata-week2-5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)