def solution(N):
num = format(N,'b')
one_index = [i for i in range(len(num)) if num[i]=='1']
zero_numbers = []
if len(one_index) == 1:
return 0
else:
for i in range(1,len(one_index)):
zero_numbers.append(one_index[i]-one_index[i-1])
return max(zero_numbers)-1
def solution(N):
binaryNumber = format(N, 'b')
maximum = 0
binaryNumberList = binaryNumber.strip('0').split('1')
print(binaryNumberList)
for x in binaryNumberList:
if not x:
continue
if len(x) > maximum:
maximum = len(x)
return maximum
binaryNumber.strip('0').split('1')
strip('0') 을 해서 맨 오른쪽의 0 을 없애준다. 맨 왼쪽은 당연히 1일테고, 100000
같은 수는 0이 아무리 많다 해도 1 사이에 있는 것이 아니기 때문이다.
split 은 충분히 쓸 수 있는 개념인데 자꾸 리스트나 딕셔너리로만 풀려고 한다. 이미 알고 있는 메쏘드를 활용하자.