CK 032 | Week4 - Day1

This Is Empty.·2021년 10월 11일
0

codekata

목록 보기
32/35
post-thumbnail

문제

양수 N을 이진법으로 바꿨을 때, 연속으로 이어지는 0의 갯수가 가장 큰 값을 return해 주세요.

  • 이어지는 0은 1과 1사이에 있는 것을 의미합니다.
  • 이런 것을 binary gap 이라고 합니다.

input: 9
output: 2
설명: 9의 이진수는 1001 입니다.
1과 1사이에 있는 0은 2 이므로, 2를 return

내가 작성한 코드

def solution(N):
  # 아래에 코드를 작성해주세요.
  
  return max([len(n) for n in format(N, 'b').strip('0').split('1')])

이진수로 변환된 숫자 N의 양쪽 0을 제거하고 1로 쪼갠 남은 0의 길이 중 가장 큰 것을 리턴한다

profile
Convinced myself, I seek not to convince.

0개의 댓글