LargestPerimeterTriangle
Published at 2022-03-04
class Solution:
def largestPerimeter(self, nums: List[int]) -> int:
sort = sorted(nums, reverse = True)
print(sort)
for i in range(len(sort) - 2):
if sort[i] < sort[i+1] + sort[i+2]:
return sum(sort[i:i+3])
return 0
# 삼각형이 될 수 있는 조건을 생각해보면 됨
# 만약 10, 5, 2짜리 직선이 있으면 얘는 만들 수 없음.
# 왜냐? 한 변은 10짜리일텐데 나머지 5랑 2가 10보다 커야 각이 만들어지는데 그게 안됨
# 5를 기준으로 놓고 봐도 마찬가지. 10이 5를 훨씬 넘기때문에 2가 그 갭을 못따라감.
# 그래서 결론은 가장긴변<나머지두변합 이어야 함