숫자 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