๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers lv-0

์ง์‚ฌ๊ฐํ˜• ๋„“์ด ๊ตฌํ•˜๊ธฐ - Java [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ]

by ๊ทคํ”ผํ‚ค 2022. 11. 28.

 

โค๏ธ Problem

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

 

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

 

  • ์ž…์ถœ๋ ฅ ์˜ˆ & ์„ค๋ช…
no dots result
1 [[1, 1], [2, 1], [2, 2], [1, 2]] 1
2 [[-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์ž…๋‹ˆ๋‹ค.

 


 

๐Ÿ’› Solution

ํ’€์ด

class Solution {
    public int solution(int[][] dots) {
        int x = dots[0][0];
        int y = dots[0][1];
        int width = 0;
        int height = 0;

        for (int i=1; i<dots.length; i++) {
            if (x != dots[i][0]) {
                width = Math.abs(x - dots[i][0]);
            }
            if (y != dots[i][1]) {
                height = Math.abs(y - dots[i][1]);
            }
        }

        return width*height;
    }
}

 

 

์ฒ˜๋ฆฌ์†๋„ VERY GOOD

 

 

 


 

๐Ÿ’œ Comment

์ด ๋ฌธ์ œ๋Š” ์ž…์ถœ๋ ฅ ์˜ˆ๋งŒ ๋ณด๊ณ  ์ฝ”๋”ฉ์„ ํ–ˆ๋‹ค๊ฐ€, ๋ง‰์ƒ ์ œ์ถœํ•˜๋‹ˆ ์‹คํŒจ๊ฐ€ ์šฐ๋ฅด๋ฅด ๋–ด๋˜ ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ๋Š” ๋งˆ์น˜ dots[0]๊ณผ dots[2]๋งŒ ํ™œ์šฉํ•˜๋ฉด ๊ฐ€๋กœ ๋ฐ ์„ธ๋กœ ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€๋‹ค.

ํ•˜์ง€๋งŒ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ, ๊ฒฐ๊ตญ ๋ชจ๋“  ์ขŒํ‘œ์˜ ์œ„์น˜๋ฅผ ์•Œ์•„์•ผ x์ขŒํ‘œ์™€ y์ขŒํ‘œ์˜ ์ฐจ์ด๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‚˜๋Š” ๊ธฐ์ค€์ ์œผ๋กœ x์ถ• ๊ฐ’(dots[0][0])์™€ y์ถ• ๊ฐ’(dots[0][1])๋ฅผ ์„ค์ •ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ์— for๋ฌธ์„ ์ž‘์„ฑํ•˜์—ฌ ๊ฐ ๊ธฐ์ค€์ ๊ณผ ๊ฐ’์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ ๊ธฐ์ค€๊ฐ’์—์„œ ๊ฐ’์ด ๋‹ค๋ฅธ ์ขŒํ‘œ๋“ค์„ ๋บ€ ๋’ค ๊ฐ๊ฐ ๊ฐ€๋กœ๊ฐ’(width)์™€ ์„ธ๋กœ๊ฐ’(height)๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. (width = x - dots[i][0], height = y - dots[i][1])

๊ณ„์‚ฐ์„ ์œ„ํ•ด width์™€ height๋Š” ์ ˆ๋Œ€๊ฐ’์œผ๋กœ ์‚ฐ์ถœํ•˜์˜€๊ณ , ๋งˆ์ง€๋ง‰์—๋Š” ๋„“์ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด width์™€ height๋ฅผ ๊ณฑํ•˜์˜€๋‹ค.

ํ•™๊ต ๋‹ค๋‹ ๋•Œ์—๋„ ์ขŒํ‘œํ‰๋ฉด์„ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ค์›Œํ–ˆ๋Š”๋ฐ.. ์ง€๊ธˆ๋„ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค๐Ÿ˜ฅ๐Ÿ˜ฅ
์ฝ”๋”ฉ์„ ํ•˜๋ฉด์„œ ๋”๋”์šฑ ๋Š๋ผ๋Š” ๋ถ€๋ถ„์ธ๋ฐ, ๊ธฐ์ดˆ ์ˆ˜ํ•™์„ ๊ณต๋ถ€ํ•  ํ•„์š”์„ฑ์„ ๋Š๋‚€๋‹ค.

 

 

5์ !! ์•„์ž๐Ÿ˜

 

 

 

๋Œ“๊ธ€