기타/Codility
[Easy] Triangle
백곰곰
2022. 6. 7. 22:00
728x90
반응형
[문제]
배열에서 3개의 수를 뽑아 어떤 2개의 수의 합이 나머지 1개의 수보다 큰 조합이 있는지 찾는 문제
Triangle coding task - Learn to Code - Codility
Determine whether a triangle can be built from a given set of edges.
app.codility.com
[코드]
시간복잡도 : O(N*log(N))
정렬 후에는 A[idx]+A[idx+2] > A[idx+1], A[idx+1]+A[idx+2] > A[idx] 가 당연한 것을 활용
예) [1, 1, 1] -> 1+1>1 / [1, 2, 3] -> 1+3 > 2, 2+3>1
def solution(A):
# write your code in Python 3.6
if(len(A)<3) :
return 0
A.sort()
for idx, value in enumerate(A[0:len(A)-2]) :
if A[idx] + A[idx+1] > A[idx+2] :
return 1
return 0
728x90