- 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
}