[プログラマ]大数の作成
📩 -->問題の説明
ある数字からk個の数字を削除しようとしたときに得られる最大の数字を取得しようとします.
たとえば、2つの数字が1924から削除された場合、[19,12,14,14,92,94,24]を作成することができる.このうち最大の数字は94です.
解関数のパラメータとして文字列形式で与えられた数値と削除する数値kを用いる.
solution関数を完了し、numberからk個の数値を削除したときに作成できる最大数値を文字列で返します.
せいげんじょうけん
numberkreturn"1924"2"94""1231234"3"3234""4177252841"4"775841"
💡 ソリューション(使用言語:python)
def solution(number, k):
answer=[]
for i in number:
while k>0 and len(answer)!=0 and answer[-1]<i:
answer.pop()
k-=1
answer.append(i)
answer=answer[:-k] if k >0 else answer
return ''.join(answer)
👉 説明:🌈 に感銘を与える
Greedyの問題ですが、何の関係もないような気がします.ははは
ソース:プログラマ
間違いがあればメッセージをお願いします🙂
Reference
この問題について([プログラマ]大数の作成), 我々は、より多くの情報をここで見つけました https://velog.io/@letgodchan0/프로그래머스-큰-수-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol