알고리즘 15일차

  1. 문제 : 2진법 수에서 1사이에 0 중 가장 긴 길이 구하기

  2. 접근법 : 1의 인덱스를 찾은 다음 0을 넣어보려 했지만 식이 너무 복잡해짐.

  3. 해답 : 팀원과 함께 푼 결과

def solution(N):
  binary_N = bin(N)[2:]
  # 2진법 앞에 문자 두 개 뺌 ; 이건 문자열임
  count = 0
  # 임시
  biggest = 0
  # 큰 길이 값
  for i in binary_N:
    if i == '0':
      count += 1
    if i == '1':
      if count > biggest:
      # 만일 i가 돌렸을 때 1인데 큰 값보다 크면
        biggest = count
        # 큰 값으로 돌려줌
      count = 0
      # 세던 것 초기화
  return biggest


print(solution(529))
  • 초기화 개념을 잘 활용했어야 하는 간단한 문제.
  • 추후 복습하기
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글

관련 채용 정보