Stack Queue機能開発レベル2


質問リンク

1.私のコード

# progresses	speeds	return
# [93, 30, 55]	[1, 30, 5]	[2, 1]
# [95, 90, 99, 99, 80, 99]	[1, 1, 1, 1, 1, 1]	[1, 3, 2]



from collections import deque
import math

def solution(progresses, speeds):
    answer = []
    completeDays = deque()

    for i in range(len(progresses)) :
        # 테스트케이스11 불통 -> math.ceil 쓸땐 /로 해야 올림이 됨
        completeDays.append(math.ceil((100 - progresses[i]) / speeds[i]))


    while completeDays :
        standard = completeDays.popleft()
        cnt = 1
        for day in completeDays:
            if standard >= day:
                cnt += 1
            else:
                break

        for _ in range(cnt-1):
            completeDays.popleft()

        answer.append(cnt)

    return answer

print(solution([93, 30, 55],[1, 30, 5]))

結果



評価

  • テストケース11は使用できません.次の部分が浮動小数点型の場合、値を//に上げる必要がある場合はmathです.Ceilは
  • を食べません
    (100 - progresses[i]) / speeds[i])
  • の複数の数学関数を使用できるmathモジュールをインポートします.
  • エラーをコミットしたときはmathです.ceil()関数を使用します.Ceilは天井を表し、誤った真上の整数を返します.
  • ミスの時はmathfloor()関数を使用します.floorは床を表し、誤った真下の整数を返します.
  • gitリンク