본문 바로가기

IT/알고리즘

[코딜리티] - Lesson 6. Triangle

안녕하세요 남갯입니다.





앞에 두수의 합이 뒤에꺼의 값보다 크면 OK

int Max값까지의 범위여서 생각없이 더할경우 오버플로우가 나게된다.

첫번째수가 0보다 크고 다음수가 맥스값이면 마지막이 맥스값이여도 크다.


import java.util.Arrays;

public class Triangle {

public int solution(int[] A) {
// write your code in Java SE 8
int result = 0;

Arrays.sort(A);
for (int i = 0; i < A.length - 2; i++) {
for (int j = i + 2; j < A.length; j++) {
if ((A[i] > 0 && A[i + 1] == Integer.MAX_VALUE) || (A[i] + A[i + 1] > A[j])){
return 1;
} else{
break;
}
}
}

return result;
}
}




https://app.codility.com/demo/results/trainingFB7SZQ-3YQ/