https://app.codility.com/programmers/lessons/6-sorting/triangle/

 

Triangle coding task - Learn to Code - Codility

Determine whether a triangle can be built from a given set of edges.

app.codility.com

 

  • N개의 정수로 구성된 배열 A가 주어질 때
  • 만약 0 <= P < Q < R < N 이면, (P,Q,R)은 삼각형이다.
  • 삼각형의 조건 = 가장 긴 변의 길이 < 다른 두 변 길이의 합
  • 각 변의 다른 두 변의 합보다 작아야 한다.
  • A[P] + A[Q] > A[R],
    A[Q] + A[R] > A[P],
    A[R] + A[P] > A[Q].
  • 배열 A중에서, 삼각형이 존재하면 1출력, 없으면 0출력
  • O(N*log(N))

 

def solution(A):
    A.sort()
    res = 0
    for i in range(len(A)-2):
        P,Q,R = i,i+1,i+2
        if A[P]+A[Q]>A[R] and A[P]+A[R]>A[Q] and A[Q]+A[R]>A[P]:
            res = 1
    return res

 

 

+ Recent posts