🔍 문제
✏️ 풀이 - JS
배열의 원소중 삼각형을 만들 수 있는 조합이 있는지 묻는 문제이다. 삼각형을 만들기 위해서는 세 변이 있을 때, 가장 큰 변을 제외한 나머지 두 변의 합이 가장 큰 변보다 커야한다.
배열 A를 오름차순으로 정렬한 후 for문을 돌면서 차례대로 3가지 조합을 만들어주면서 1번째, 2번째 숫자를 합한 값이 3번째 숫자보다 큰지 확인해 주면 된다. 시간 복잡도는 O(N*log(N)) 이고 정확도, 효율성 모두 100%로 통과하였다.
function solution(A) {
//배열의 길이가 3보다 작을 때 return 0
if(A.length < 3) return 0;
A.sort((a, b) => {return a-b});
for(let i = 0; i < A.length-2; i++) {
if(A[i] + A[i+1] > A[i+2]) return 1;
}
//조합이 없는 경우 0
return 0;
}
'Algorithm > 문제풀이' 카테고리의 다른 글
Codility Lesson7 - Brackets (0) | 2019.08.11 |
---|---|
Codility Lesson6 - NumberOfDiscIntersections (0) | 2019.08.11 |
Codility Lesson6 - Distinct (0) | 2019.08.10 |
Codility Lesson6 - MaxProductOfThree (0) | 2019.08.09 |
Codility Lesson5 - CountDiv (0) | 2019.08.08 |