Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

인코딩이 Python에서 고유한 이진 문자열을 나타내는지 확인

<시간/>

num이라는 배열이 k 크기의 이진 문자열의 인코딩을 나타낸다고 가정하고 주어진 인코딩이 이진 문자열을 고유하게 찾는지 여부를 확인해야 합니다. 여기에서 인코딩에는 단일 0으로 구분되는 연속 1 수가 있습니다.

따라서 입력이 nums =[4, 2, 3] k =11과 같으면 k =11의 11110110111과 같은 이진 문자열이 있으므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • total :=nums의 모든 요소 합계
  • 총계 :=총계 + 숫자 크기 - 1
  • 총계가 k와 같으면 true를 반환하고 그렇지 않으면 false를 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

def solve(nums, k):
   total = sum(nums)
   total += len(nums) - 1
   return total == k
nums = [4, 2, 3]
k = 11
print(solve(nums, k))

입력

[4, 2, 3], 11

출력

True