๐ŸŒ  ๋ฌธ์ œ

์„ ๋ถ„ ์„ธ ๊ฐœ๋กœ ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๋Š” ๋‹ค๋ฅธ ๋‘ ๋ณ€์˜ ๊ธธ์ด์˜ ํ•ฉ๋ณด๋‹ค ์ž‘์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์‚ผ๊ฐํ˜•์˜ ๋‘ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด sides์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์ด ๋  ์ˆ˜ ์žˆ๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐ŸŒ  ์ œํ•œ์‚ฌํ•ญ

  • sides์˜ ์›์†Œ๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • sides์˜ ๊ธธ์ด๋Š” 2์ž…๋‹ˆ๋‹ค.
  • 1 ≤ sides์˜ ์›์†Œ ≤ 1,000

๐ŸŒ  ์ž…์ถœ๋ ฅ ์˜ˆ

sides result
[1, 2] 1
[3, 6] 5
[11, 7] 13

๐ŸŒ  ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋‘ ๋ณ€์ด 1, 2 ์ธ ๊ฒฝ์šฐ ์‚ผ๊ฐํ˜•์„ ์™„์„ฑ์‹œํ‚ค๋ ค๋ฉด ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์ด 2์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ๊ฐ€์žฅ ๊ธด ๋ณ€์ด 6์ธ ๊ฒฝ์šฐ
    ๋  ์ˆ˜ ์žˆ๋Š” ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์€ 4, 5, 6 ๋กœ 3๊ฐœ์ž…๋‹ˆ๋‹ค.
    ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์ด ๊ฐ€์žฅ ๊ธด ๋ณ€์ธ ๊ฒฝ์šฐ
    ๋  ์ˆ˜ ์žˆ๋Š” ํ•œ ๋ณ€์€ 7, 8 ๋กœ 2๊ฐœ์ž…๋‹ˆ๋‹ค.
    ๋”ฐ๋ผ์„œ 3 + 2 = 5๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • ๊ฐ€์žฅ ๊ธด ๋ณ€์ด 11์ธ ๊ฒฝ์šฐ
    ๋  ์ˆ˜ ์žˆ๋Š” ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์€ 5, 6, 7, 8, 9, 10, 11 ๋กœ 7๊ฐœ์ž…๋‹ˆ๋‹ค.
    ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์ด ๊ฐ€์žฅ ๊ธด ๋ณ€์ธ ๊ฒฝ์šฐ
    ๋  ์ˆ˜ ์žˆ๋Š” ํ•œ ๋ณ€์€ 12, 13, 14, 15, 16, 17 ๋กœ 6๊ฐœ์ž…๋‹ˆ๋‹ค.
    ๋”ฐ๋ผ์„œ 7 + 6 = 13์„ returnํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงž ํ’€์ด

function solution(sides) {
    // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
    sides.sort((a, b) => a - b);
    // ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๊ฐ€ sides[0] + sides[1]๋ณด๋‹ค ์ž‘์•„์•ผ ํ•  ๋•Œ์˜ ์ตœ์†Œ ์ •์ˆ˜
    let h = sides[0] + sides[1] - 1;
    // ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๊ฐ€ sides[1]์ผ ๋•Œ์˜ ์ตœ์†Œ ์ •์ˆ˜,
    let l = sides[1] - sides[0] + 1;
    // l <= x <= h๊ธฐ ๋•Œ๋ฌธ์—, h - l + 1
    return h - l + 1;
}

+ Recent posts