๐ŸŒ  ๋ฌธ์ œ

2์ฐจ์› ์ขŒํ‘œ ํ‰๋ฉด์— ๋ณ€์ด ์ถ•๊ณผ ํ‰ํ–‰ํ•œ ์ง์‚ฌ๊ฐํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์‚ฌ๊ฐํ˜• ๋„ค ๊ผญ์ง“์ ์˜ ์ขŒํ‘œ [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด dots๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

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

  • dots์˜ ๊ธธ์ด = 4
  • dots์˜ ์›์†Œ์˜ ๊ธธ์ด = 2
  • -256 < dots[i]์˜ ์›์†Œ < 256
  • ์ž˜๋ชป๋œ ์ž…๋ ฅ์€ ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

dots result
[[1, 1], [2, 1], [2, 2], [1, 2]] 1
[[-1, -1], [1, 1], [1, -1], [-1, 1]] 4

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

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

  • ์ขŒํ‘œ [[1, 1], [2, 1], [2, 2], [1, 2]] ๋ฅผ ๊ผญ์ง“์ ์œผ๋กœ ๊ฐ–๋Š” ์ง์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ๊ธธ์ด๋Š” ๊ฐ๊ฐ 1, 1์ด๋ฏ€๋กœ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋Š” 1 x 1 = 1์ž…๋‹ˆ๋‹ค.

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

  • ์ขŒํ‘œ [[-1, -1], [1, 1], [1, -1], [-1, 1]]๋ฅผ ๊ผญ์ง“์ ์œผ๋กœ ๊ฐ–๋Š” ์ง์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ๊ธธ์ด๋Š” ๊ฐ๊ฐ 2, 2์ด๋ฏ€๋กœ ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋Š” 2 x 2 = 4์ž…๋‹ˆ๋‹ค.

๐Ÿงž ํ’€์ด

// ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ ˆ๋Œ“๊ฐ’ ๋ฌธ๋ฒ•
// Math.abs()

// ๋ณ€์ด ์ถ•๊ณผ ํ‰ํ–‰ํ•˜๋‹ค๊ณ  ํ–ˆ์œผ๋‹ˆ,
// 0๋ฒˆ์งธ ์ ์€ 1๋ฒˆ์งธ ์  ํ˜น์€ 2๋ฒˆ์งธ ์ ๊ณผ๋Š” ๋‹ค๋ฅธ x ๋˜๋Š” ๋‹ค๋ฅธ y๋ฅผ ๊ฐ–๋Š”๋‹ค.
function solution(dots) {
    let w = Math.abs(dots[0][0] - dots[1][0]) === 0 ? Math.abs(dots[0][0] - dots[2][0]) : Math.abs(dots[0][0] - dots[1][0]);
    let h = Math.abs(dots[0][1] - dots[1][1]) === 0 ? Math.abs(dots[0][1] - dots[2][1]) : Math.abs(dots[0][1] - dots[1][1]);
    
    return w * h;
}

+ Recent posts