[Leetcode] 29. Divide Two Integers โ
Problem โ
์ ๋ ฅ๊ฐ์ธ divided๋ฅผ divisor๋ก ๋๋๋ ๋ฌธ์ . Integer ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ๊ทธ ๋ง์ง๋ง ๋ฒ์๋ฅผ
๊ตฌ๋ถ | ์๋ฃํ | ๋ฒ์ |
---|---|---|
์ ์ํ | (signed) int | (2 ^ 31) -2,147,483,648 ~ 2,147,483,647 |
์ซ์ํ | number | (2 ^ 53 - 1) ~ -(2 ^ 53 - 1) |
Solution โ
JS๋ ์ซ์ ํ์ ์ด Number๋ก ์กด์ฌ. ๋ฒ์๊ฐ Integer์ ๋ค๋ฅด๊ธฐ๋๋ฌธ์ ๋ฒ์ ๊ณ์ฐ์ ๋ฏธ๋ฆฌ ํด๋๋ค.
๊ฐ์ ๋๋๊ณ ๋๋ค ์์์ ์๋ฆฌ๋ ๋ฒ๋ฆฐ๋ค.
๋๋๊ฐ์ด ๋ฒ์๋ฅผ ๋์์๋ ๊ณ์ฐํด๋ Integer๋ฒ์๋ฅผ ๋ฆฌํดํ๋ค. ๊ทธ๊ฒ ์๋๋ผ๋ฉด ๊ณ์ฐ๋ ๊ฐ์ ๋ฆฌํดํ๋ค.
JS Code โ
js
/**
* @param {number} dividend
* @param {number} divisor
* @return {number}
*/
var divide = function(dividend, divisor) {
const left = -(2 **31)
const right = 2 ** 31 -1
let num = parseInt(dividend / divisor)
if (num < left) return left
else if (right < num) return right
else return num
};