Sorting2 [codility] Triangle Triangle Triangle Determine whether a triangle can be built from a given set of edges.Task Score93%Correctness90%Performance100% 주어진 배열 A에서 A[P] + A[Q] > A[R],A[Q] + A[R] > A[P],A[R] + A[P] > A[Q].를 만족하는 세 숫자가 존재하면 1을 반환하고, 아니면 0을 반환하는 문제이다.일단 시간복잡도가 O(NlogN)이기 때문에 for문 3개를 돌리는 것은 안될 말이고.. 그렇다고 for문을 3개로 나눠서 뭐 어떻게 저떻게 하자니 그건 또 아닌 것 같고..그래서 sort로 A를 정렬해주고 연속된 세 숫자를 비교해주는 방식을 사용했다. 크기 순서대로 정렬해서 처음.. 2018. 7. 14. [codility] MaxProductOfThree MaxProductOfThree MaxProductOfThreeMaximize A[P] * A[Q] * A[R] for any triplet (P, Q, R).Task Score100%Correctness100%Performance100% 다시 painless레벨로 오니까 마음이 편해진다.. 자꾸 쉬운거만 하려구 하면 안되지만 ㅠㅠㅠ단순하게 생각하면 세개를 뽑아 최대값을 구해야하니까 맨 위 세개만 뽑아 곱하면 된다.라고 생각할 수 있지만, 만약 음수나 0값이 포함돼있다면 어떨까?정렬 후 A = {-100, -1, 0, 1, 2} 가 된다면, 이런 방식으로 구했다가는 0이 나오게 된다. (-100 * -1 * 2) = 200이라는 큰 값을 구할 수 있는데 말이다.그래서 음수나 0이 두개 이상이고 마지막 값.. 2018. 5. 24. 이전 1 다음