CodeSprout程式萌芽
← 返回題庫基礎語法 / 第 100 題操作教學 ↗
困難迴圈與狀態

100. 文具庫存守門員

文具庫存從 initial 件開始。正數異動代表補貨,負數代表領取。如果某次領取會讓庫存低於 0,就拒絕整筆異動、庫存保持不變,並繼續處理後續異動。0 的異動可以接受。

傳入的資料

initial:初始庫存;changes:依序發生的整數異動陣列。

回傳的答案

長度 2 的整數陣列:[最終庫存, 被拒絕的異動筆數]。

範例 1
傳入[5, [-3, -4, 10, -8]]
回傳[4, 1]
範例 2
傳入[5, [-5]]
回傳[0, 0]

0 ≤ initial ≤ 1000;0 ≤ 異動筆數 ≤ 100;-1000 ≤ 每筆異動 ≤ 1000。

💡 給我一點提示

每筆先算「如果接受之後的庫存」,不足 0 時只增加拒絕計數,不更動庫存。

小提醒

請在 solve 函式裡寫程式,用 return 回傳答案,不需要自己讀取輸入。

</>你的程式碼
草稿只存在這台裝置Tab 縮排・Esc 再 Tab 離開編輯器 ⌘ / Ctrl + Enter 測試

提交後,程式碼與想法會以你的帳號公開。

登入後提交

測試結果

5 組練習測資

準備好了嗎?按「測試程式」看看結果。

>_每一次嘗試,都是進步。結果會顯示在這裡。

測試在瀏覽器內執行,供練習參考;不代表正式評分。Python 首次載入需要網路。