[Leetcode] 29. Divide Two Integers

Seongjun Lee·2022년 2월 19일
0

[Leetcode] - Problem

목록 보기
29/43
post-thumbnail

Problem

문제 링크

입력값인 divided를 divisor로 나누는 문제.
Integer 범위를 벗어나면 그 마지막 범위를

구분자료형범위
정수형(signed) int(2 ^ 31) -2,147,483,648 ~ 2,147,483,647
숫자형number(2 ^ 53 - 1) ~ -(2 ^ 53 - 1)

Solution

  1. JS는 숫자 타입이 Number로 존재. 범위가 Integer와 다르기때문에 범위 계산을 미리 해둔다.

  2. 값을 나누고난뒤 소수점자리는 버린다.

  3. 나눈값이 범위를 넘었을땐 계산해둔 Integer범위를 리턴한다. 그게 아니라면 계산된 값을 리턴한다.

JS Code

/**
 * @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
}
profile
Hi there 👋

0개의 댓글