[LeetCode/Python] 1356. Sort Integers by The Number of 1 Bits

ㅎㅎ·2023년 12월 27일
0

LeetCode

목록 보기
4/33

1356. Sort Integers by The Number of 1 Bits

풀이

첫 번째 풀이

비트 연산 하는 방법에 대해 알게되었다

  • & : 비트 연산자 (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
profile
Backend

0개의 댓글