💡문제접근
- 삼각형의 결정 조건에 따르면 삼각형을 만들기 위해서는 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작아야 한다.
- N개의 빨대 중에 3개의 빨대를 선택했을 때, 정렬하여 가장 뒷부분에 있는 빨대로 만들면 삼각형의 세 변의 길이의 합의 최댓값을 구할 수 있다.
💡코드(메모리 : 75368KB, 시간 : 1416ms)
import sys
N = int(input())
li = []
for _ in range(N):
li.append(int(sys.stdin.readline().strip()))
li.sort()
max_val = 0
for i in range(N-2):
if li[i] + li[i+1] > li[i+2]:
if max_val < li[i] + li[i+1] + li[i+2]:
max_val = li[i] + li[i+1] + li[i+2]
else:
if max_val > 0:
continue
else:
max_val = -1
print(max_val)
💡소요시간 : 5m