From f08b1e6ad0cc6aa1d562437d183fbc5efd010aa7 Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Sat, 10 Oct 2026 23:42:35 +0900 Subject: [PATCH] Create 593. Valid Square --- .../593. Valid Square" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/593. Valid Square" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/593. Valid Square" "b/leetcode3/\354\240\225\354\247\204\354\230\201/593. Valid Square" new file mode 100644 index 00000000..61aede4d --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/593. Valid Square" @@ -0,0 +1,34 @@ +/** + * @param {number[]} p1 + * @param {number[]} p2 + * @param {number[]} p3 + * @param {number[]} p4 + * @return {boolean} + */ +var validSquare = function(p1, p2, p3, p4) { + function distance(a,b){ + let dx = a[0] - b[0]; + let dy = a[1] - b[1]; + + return dx * dx + dy * dy; + } + + let arr = [ + distance(p1, p2), + distance(p1, p3), + distance(p1, p4), + distance(p2, p3), + distance(p2, p4), + distance(p3, p4) + ]; + + arr.sort((a, b) => a - b); + + return ( + arr[0] > 0 && + arr[0] === arr[1] && + arr[1] === arr[2] && + arr[2] === arr[3] && + arr[4] === arr[5] + ); +};