avatar
$
Published on

Codility - Triangle

Author
  • avatar
    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
}

https://app.codility.com/demo/results/training6R2NPK-JJH/