class Solution:
def countBits(self, n: int) -> List[int]:
ans = []
for i in range(n+1):
cnt = 0
while i != 0 :
if i % 2 : cnt += 1
i = i // 2
ans.append(cnt)
return ans
너무 간단한 이진법 문제. 파이썬의 내장함수와 속도를 비교해봤다.
class Solution:
def countBits(self, n: int) -> List[int]:
ans = []
for i in range(n+1):
ans.append(bin(i).count(str(1)))
return ans
훨씬 빠르다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 수가 작을때는 첫번째 코드가 더 빠르지만 수가 커지면 bin() 과 count()를 사용한 코드가 훨씬 빨랐다.
'컴퓨터 > 코테' 카테고리의 다른 글
릿코드 3 - Longest Substring, 카카오 보석쇼핑 (0) | 2021.08.11 |
---|---|
릿코드 84 - Largest Rectangle in Histogram (0) | 2021.08.10 |
릿코드 876 - Middle of the Linked List (0) | 2021.08.09 |
릿코드200 - 섬의 수 (0) | 2021.08.09 |
릿코드62 - Unique paths [dp] (0) | 2021.08.07 |