비트 연산 하는 방법에 대해 알게되었다
&
: 비트 연산자 (bitwise)
- 6 & 1 : 110 & 001 = 0
- 6 >>= 1 : 11
- 11 & 001 = 1
class Solution(object):
def sortByBits(self, arr):
# 6 & 1 : 110 & 001 = 0
# 6 >>= 1 : 11
# 11 & 001 = 1
def bitCount(num):
count = 0
while num: #O(n)
if num & 1:
count += 1
num >>= 1
return count
arr.sort(key = lambda x: (bitCount(x), x))
return arr