Menu
CoddyTech

Remove K Digits

数字の文字列として表された非負の数 num と、整数 k が与えられます。ちょうど k 桁を削除し、残りの桁の順序を保ったまま、残った数ができるだけ小さくなるようにします。

先頭のゼロを除いた文字列として返してください。何も残らない場合、またはゼロだけが残る場合は、"0" を返してください。

関数

removeKdigits(num: string, k: integer) → string
numstring
数字で表記された数値
kinteger
削除する桁数
戻り値string
先頭にゼロを付けず、文字列として表した、使用できる最小の数

制約

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • numには0から9までの数字だけが格納されます。
  • numには、数値そのものがゼロである"0"の場合を除き、先頭にゼロはありません。

例

入力
num = "4325043"k = 3
出力
"2043"
説明
4と最初の3を取り除くと、2が先頭になります。0を先頭にすることはできません。0の前には4桁あり、取り除けるのは3桁だからです。最後に取り除くのは5です。5は、それより小さい0の前にあります。
challenge icon

発展問題

解をどのように変更すれば、k 桁を削除して、代わりに最大の数を残せますか?

コードをリセット
def removeKdigits(num, k):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

num = "4325043"
k = 3

期待される出力

"2043"