๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

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

by hyebin (Helia) 2022. 12. 30.
๋ฐ˜์‘ํ˜•

์ง์‚ฌ๊ฐํ˜• ๋„“์ด ๊ตฌํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

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์ž…๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ dots:[[Int]]) -> Int {
    var x = dots[0][0] - dots[1][0] != 0 ? dots[0][0] - dots[1][0] : (dots[0][0] - dots[2][0] != 0 ? dots[0][0] - dots[2][0] : dots[0][0] - dots[3][0])
    var y = dots[0][1] - dots[1][1] != 0 ? dots[0][1] - dots[1][1] : (dots[0][1] - dots[2][1] != 0 ? dots[0][1] - dots[2][1] : dots[0][1] - dots[3][1])
    return abs(x)*abs(y)
}
x1 - xn์ด 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ด ๋ณ€์ˆ˜ x์— ์ €์žฅ (n = 2, 3, 4)
y1 - yn์ด 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ด ๋ณ€์ˆ˜ y์— ์ €์žฅ (n = 2, 3, 4)

x์™€ y์˜ ์ ˆ๋Œ“๊ฐ’์„ ๊ณฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค

๋‹ค๋ฅธ ํ’€์ด

import Foundation

func solution(_ dots:[[Int]]) -> Int {
    let dots = dots.sorted(by: { ($0[0], $0[1]) < ($1[0], $1[1]) })
    return (dots.last![0] - dots.first![0]) * (dots.last![1] - dots.first![1])
}
dots๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ dots ๋ฐฐ์—ด์—์„œ ๋งˆ์ง€๋ง‰ ๊ฐ’์—์„œ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๋นผ์„œ ๊ณฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค
๋ฐ˜์‘ํ˜•