CS/Solutions

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ง์‚ฌ๊ฐํ˜• ๋„“์ด ๊ตฌํ•˜๊ธฐ (JavaScript ๋ฌธ์ œ ํ’€์ด)

์„ค๋นˆ 2023. 12. 21. 16:03
๋ฐ˜์‘ํ˜•

๐Ÿ“ ๋ฌธ์ œ ์„ค๋ช…

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. ๊ฐ€๋กœ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ: x ์ขŒํ‘œ๋“ค ์ค‘ ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  2. ์„ธ๋กœ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ: y ์ขŒํ‘œ๋“ค ์ค‘ ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  3. ๋„“์ด ๊ณ„์‚ฐ: ๊ฐ€๋กœ ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค.
function solution(dots) {
    const xCoords = dots.map(dot => dot[0]);
    const yCoords = dots.map(dot => dot[1]);

    const width = Math.max(...xCoords) - Math.min(...xCoords);
    const height = Math.max(...yCoords) - Math.min(...yCoords);

    return width * height;
}
๋ฐ˜์‘ํ˜•