問題を表示:バイナリに与える進数に変換し、連続した1秒をカウントし、サンプルケース1は バイナリに与える進数に変換し、連続した1秒をカウントし、それに
表示: 5のバイナリ表現であります101、連続する1の最大数は1サンプルケース2になるように: 13のバイナリ表現1101であるので、連続する1の最大数は2
解決する:
#!/bin/python3
import sys
n = int(input().strip())
result = []
counter = 1
def get_binary(num):
if num == 1:
result.append(num)
adj(result)
else:
result.append(num%2)
get_binary(int(num/2))
def adj(arr):
global counter
for x in range(0,len(arr)-1):
if arr[x] == 1 and (arr[x] == arr[x+1]):
counter += 1
print(counter)
get_binary(n)
すべてのサンプルテストケースを通過するわけではありません。私は間違って何をしていますか?以下
115で試してみてください。3が必要です。最も長いものを保持しなければならないうちに、1の配列を数えています。 –
どのようなケースが合格しないのですか?そのような場合はどうなりますか?掲示のガイドラインに従って、これらを表示してください。 – Prune
これもあなたのテストケースでは問題ありませんが、バイナリが後方にあります – depperm