문제에선 나누기(/
)를 쓰지 말라했으나, 코드가 지저분해 지는것이 싫고 납득하지 못한다면 무조건 쓰는 고집이 있는 날 꺾진 못했다.
구현한다면 dividend
, divisor
의 음수 양수 여부를 판단하여 가능할 때까지 가감하는 방식으로 구할 수 있겠으나 귀찮음.
function divide(dividend: number, divisor: number): number {
const quot = dividend / divisor
const result = quot > 0 ? Math.floor(quot) : Math.ceil(quot)
const maxQuot = Math.pow(2, 31) - 1
const minQuot = Math.pow(-2, 31)
if(result > maxQuot) return maxQuot
else if(result < minQuot) return minQuot
return result
};