- Published on
Codility - Triangle
- Author
 - Name
- yceffort
 
 
Triangle
λ¬Έμ 
κΈΈμ΄ Nμ λ°°μ΄ Aκ° μ£Όμ΄μ§λ€.
(P, Q, R)μ μΌκ°νμ΄ λ μ μλλ°, μ΄λ
- 0 β€ P < Q < R < N
- A[P] + A[Q] > A[R]
- A[Q] + A[R] > A[P]
- A[R] + A[P] > A[Q]
λΌλ 쑰건μ λ§μ‘± νκΈ° λλ¬Έμ΄λ€.
A[0] = 10
A[1] = 2
A[2] = 5
A[3] = 1
A[4] = 8
A[5] = 20
μ 0, 2, 4 (10, 5, 8)λ‘ μΌκ°νμ λ§λ€ μ μμΌλ―λ‘ 1μ 리ν΄νλ€. κ·Έλ¬λ λ§λ€ μ μλ€λ©΄ 0μ 리ν΄νλ€.
μ£Όμ΄μ§ A λ°°μ΄μμ μΌκ°νμ λ§λ€ μ μλ 3κ°μ μ‘°ν©μ΄ μ‘΄μ¬νλμ§ νμΈν΄μ, μ‘΄μ¬νλ€λ©΄ 1μ, μλλΌλ©΄ 0μ 리ν΄ν΄λΌ.
νμ΄
function solution(A) {
  const sorted = A.sort((a, b) => a - b)
  for (let i = 0; i < sorted.length - 2; i++) {
    const a = sorted[i]
    const b = sorted[i + 1]
    const c = sorted[i + 2]
    if (a + b > c && b + c > a && a + c > b) {
      return 1
    }
  }
  return 0
}