[プログラマ/python]最大ソート数
2218 ワード
https://programmers.co.kr/learn/courses/30/lessons/42746
アルゴリズム分類
問題を解く
最初は、すべての状況の数のため、ソートを考えていました.(置換関数)
使っていた頃から時間がオーバーしていたので少し不安でしたが、やはりテストケースに合格しただけで全てタイムアウト.ほほほ
ソートでは、キー値が降順に並べ替えられ、ソートの基準は各要素*3の値です.(どうしようかな…)
これは、各要素「6」、「10」、「2」が「666」、「101010」、「222」を基準としてソートされ、文字列ソートは最初のインデックスから順にASCIIコードに従ってソートされます.このようにしない場合は、直接ソートを行い、第2例の330対303が大きいので、3,30の順にソートすべきであるが、比較可能な値はないので、30,3にソートする.
最後のstr(int()は、「000」に「0」を出力するためである.
ソースコード
def solution(numbers):
lst=list(map(str, numbers))
lst.sort(key=lambda x:x*3, reverse=True)
return str(int(''.join(lst)))
Reference
この問題について([プログラマ/python]最大ソート数), 我々は、より多くの情報をここで見つけました https://velog.io/@bye9/프로그래머스파이썬-정렬-가장-큰-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol