배열의 A의 원소 3가지 중
A[P] + A[Q] > A[R],
A[Q] + A[R] > A[P],
A[R] + A[P] > A[Q].
를 만족하는 숫자 3개 찾기
가장 큰 수가 다른 숫자 2개보다 작아야함
삼각형을 만들 수 있는 3 수가 존재하면 1, 아니면 0
시간복잡도 nlogn 이하, 요소 범위 -2,147,483,648..2,147,483,647(음수 싹 다 제외해야함)
정렬시켜서 0이상인 수부터 3개씩 묶어서 검사하면 될 듯
시간복잡도는 2N
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A):
A.sort(reverse = True)
for idx, num in enumerate(A):
if idx+2 > len(A)-1 or A[idx+2] < 0: # 음수가 오면 안됨
return 0
if A[idx] < A[idx+1] + A[idx+2]: # 삼각형 조건 만족하는지 검사
return 1
return 0