function rangeBitwiseAnd(left: number, right: number): number { let shift = 0 // 공통 접두사 찾기 while(left !== right) { left >>= 1 right >>= 1 shift++ } // 생략된만큼 시프트하여 반환 return left << shift };