背景
題目來自codewars
我的朋友約翰和我是“Fat to Fit Club (FFC)”的成員。John 很擔心,因為每個月都會發布一個包含成員權重的列表,並且每個月他都是列表中的最後一個,這意味著他是最重的。
我是建立名單的人,所以我告訴他:“別擔心,我會修改名單的順序”。決定將“權重”歸因於數字。從現在開始,一個數字的權重將是其數字的總和。
例如99會有 "weight" 18,100會有 "weight"1所以在列表中100會出現在前面99。
給定一個 FFC 成員權重按正常順序排列的字符串,你能給出這個按這些數字的“權重”排序的字符串嗎?
例子:
"56 65 74 100 99 68 86 180 90" ordered by numbers weights becomes:
"100 180 90 56 65 74 68 86 99"
當兩個數字具有相同的“權重”時,讓我們將它們分類為字符串(按字母順序)而不是數字:
180之前,90因為具有相同的“權重”(9),它作為字符串出現在之前。
列表中的所有數字都是正數,列表可以為空。
輸入字符串可能有前導、尾隨空格以及兩個連續數字之間的唯一空格
def order_weight(strng): # your code
不知道怎麼算權重,請解釋一下權重的意思和大致如何計算,謝謝!