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

Python에서 프로그래머의 규칙 배열이 올바른지 확인하는 프로그램

<시간/>

숫자 n이 있고 이것은 규칙을 입력하려는 프로그래머를 나타내고 숫자 목록도 있다고 가정합니다. 규칙 1은 프로그래머를 나타내고 0은 빈 공간을 나타냅니다. 이제 조건은 두 프로그래머가 나란히 앉을 수 없다는 것이므로 n명의 프로그래머가 모두 규칙에 들어갈 수 있는지 여부를 확인해야 합니다.

따라서 입력이 n =2, 규칙 =[0, 0, 1, 0, 0, 0, 1]과 같으면 출력은 True

가 됩니다.

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

  • 범위 0에서 전환 크기까지의 i에 대해
    • a:=i-1일 때 0 <0 그렇지 않으면 i-1
    • b:=i+1일 때 conv 크기 -1>=i+1일 때 conv 크기, 그렇지 않으면 i+1
    • conv[i]가 0과 같고 conv[a]가 0과 같고 conv[b]가 0과 같으면
      • 전환[i]:=1
      • n :=n - 1
  • n <=0이면 true를 반환하고, 그렇지 않으면 0을 반환합니다.

예시

class Solution:
   def solve(self, n, conv):
      for i in range(len(conv)):
         a=0 if i-1<0 else i-1
         b=len(conv)-1 if i+1>=len(conv) else i+1
         if conv[i]==0 and conv[a]==0 and conv[b]==0:
            conv[i]=1
            n-=1
      return n<=0
ob = Solution()
n = 2
convention = [0, 0, 1, 0, 0, 0, 1]
print(ob.solve(n, convention))

입력

2, [0, 0, 1, 0, 0, 0, 1]

출력

True