コードの何が問題になっていますか?それはグーグルキックスタート2020ラウンドAでREになります
Aug 22 2020
このコードで私がここに欠けているものは何ですか?Kickstart 2020ではREになりますが、ローカルマシンまたはhackereathコンパイラ(codejamコンパイラと同様)でテストすると、コードは正常に機能します。
問題のリンク:https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc7/00000000001d3f56
def solve(a,balance):
a.sort()
house_Can_buy=0
for i in a:
if i<=balance:
house_Can_buy+=1
balance-=i
return house_Can_buy
def main():
a=int(input())
arr2,res=[],[]
for i in range(a):
_,balance=list(map(int,input().split()))
arr2=list(map(int,input().split()))
result=solve(arr2,balance)
res.append(result)
for i,j in enumerate (res):
print(f'Case #{i+1}: {j}')
main()
回答
1 YashShah Aug 22 2020 at 07:43
fの使用がREをもたらすprintステートメントで。
printステートメントでは、formatを使用してi +1とjを出力する必要があります。
すべてのテストケースに合格するには、配列を並べ替えて、欲張り法で家の数を計算する必要があります。
def solve(a,balance):
house_Can_buy=0
a.sort()
for i in a:
if i<=balance:
house_Can_buy+=1
balance-=i
return house_Can_buy
def main():
a=int(input())
arr2,res=[],[]
for i in range(a):
_,balance=list(map(int,input().split()))
arr2=list(map(int,input().split()))
result=solve(arr2,balance)
res.append(result)
for i,j in enumerate (res):
print('Case #{}: {}'.format(i+1,j))
main()