From 4035d3ca8c52e78f1ee3b7dd5e18c31dd008996a Mon Sep 17 00:00:00 2001 From: BangDori Date: Sun, 25 May 2025 10:29:53 +0900 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EB=B3=91=EC=A4=80]=208?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bangdori/8.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 bangdori/8.js diff --git a/bangdori/8.js b/bangdori/8.js new file mode 100644 index 0000000..a2f6875 --- /dev/null +++ b/bangdori/8.js @@ -0,0 +1,30 @@ +/** + * @param {string} s + * @return {number} + */ +var myAtoi = function (s) { + const trimmedString = s.trim(); + const isNegative = trimmedString[0] === "-"; + + let i = isNegative || trimmedString[0] === "+" ? 1 : 0; + let curr = ""; + for (i; i < trimmedString.length; i++) { + if (curr.length === 0 && trimmedString[i] === "0") continue; + if (trimmedString[i] === " ") break; + + if (Number.isInteger(Number(trimmedString[i]))) { + curr += trimmedString[i]; + } else break; + } + + if (!curr) curr = 0; + + const answer = Number(curr); + if (isNegative) { + if (-answer < -(2 ** 31)) return -(2 ** 31); + else return -answer; + } else { + if (answer > 2 ** 31 - 1) return 2 ** 31 - 1; + else return answer; + } +};