Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 가장 큰 둘레 삼각형을 찾는 프로그램

<시간/>

길이가 양수인 배열 num이 있다고 가정하고 해당 배열에서 세 개의 값을 가져와 삼각형의 가장 큰 둘레를 찾아야 합니다. 0이 아닌 면적의 삼각형을 만드는 것이 불가능하면 0을 반환합니다.

따라서 입력이 [8,3,6,4,2,5]와 같으면 출력은 19가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 목록 번호 정렬

  • a :=숫자에서 마지막 요소 삭제

  • b :=숫자에서 마지막 요소 삭제

  • c :=숫자에서 마지막 요소 삭제

  • 동안 b+c <=a, 수행

    • 숫자가 0이 아닌 경우

      • 0 반환

    • a :=b

    • b :=c

    • c :=숫자에서 마지막 요소 삭제

  • +b+c를 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

def solve(nums):
   nums.sort()
   a, b, c = nums.pop(), nums.pop(), nums.pop()
   while b+c<=a:
      if not nums:
         return 0
      a, b, c = b, c, nums.pop()
   return a+b+c
nums = [8,3,6,4,2,5]
print(solve(nums))

입력

[8,3,6,4,2,5]

출력

19