CK week2 day5
🧨 문제
인자인 height는 숫자로 이루어진 배열입니다.
그래프로 생각한다면 y축의 값이고,
높이 값을 갖고 있습니다.
아래의 그래프라면 height 배열은
[1, 8, 6, 2, 5, 4, 8, 3, 7]
입니다.
저 그래프에 물을 담는다고 생각하고,
물을 담을 수 있는 가장 넓은 면적의 값을
반환해 주세요.
🎯 내 풀이
def get_max_area(height):
#step1
result = []
#step2
for i in range(len(height)-1):
for j in range(i+1, len(height)):
area = (j-i) * min(height[i], height[j])
result.append(area)
return max(result)
def get_max_area(height):
#step1
result = []
#step2
for i in range(len(height)-1):
for j in range(i+1, len(height)):
area = (j-i) * min(height[i], height[j])
result.append(area)
return max(result)
두 요소를 선택해, 넓이를 구한 다음 넓이 값의 최대 값을 반환한다.
📍 step 1
def get_max_area(height):
#step1
result = []
결과를 담을 배열을 선언 한다.
📍 step 2
def get_max_area(height):
#... ...#
#step2
for i in range(len(height)-1):
for j in range(i+1, len(height)):
area = (j-i) * min(height[i], height[j])
result.append(area)
return max(result)
중첩 for
문을 돌며, 넓이값을 구해 result
에 추가하고, result
의 최대값을 반환한다.
🎈 풀이에 대해
모든 경우의 수에 대한 넓이를 다 구해서, 그 넓이값 중 가장 큰 값을 구하도록 구현했는데 비효율적이라고 생각 된다. 조금 더 효율적인 풀이를 더 고민해 봐야겠다.
Author And Source
이 문제에 관하여(CK week2 day5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bufflect/CK-week2-day5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)