Python Fundamentals - Big Numbers Lovers
Условие :
You really like big numbers, so you always find a way to form one from numbers given to you
You will receive a single line containing numbers separated by a single space. Form the biggest number possible from them
Example
Input |
Output |
Comment |
3 30 34 5 9 |
9534303 |
The numbers sorted are 9 5 34 30 3 |
1 2 3 |
321 |
|
Hint
- Search in the internet how to sort list of string in python
- Search in the internet how to sort in reversed order
За дадените входни данни най-голямото възможно число не е 9534303, а 9534330. Ако погледнеп поредицата която е дадена в примера :
9 5 34 30 3
Друга поредица (3 е преди 30, което прави финалното число по-голямо от даденото като верен отговор в задачата):
9 5 34 3 30
Оценявам добавените Hints, но какво би следвало да е вярно решение на задачата. Успях да напиша не много елегантно решение, което за няколко теста изглежда да работи - формира най-голямото възможно число от подадени различни такива.В Judge това не изглежда никак добре, но това може би е очаквано с изглед на разминаването в задачата. Решение :
numbers = input().split(' ') result = '' minimum = -9999 numbers_lenght = len(numbers) full_current_number = '' full_num = '' while True: if numbers_lenght == 0: break for num in numbers: if len(num) > 1: full_num = num if int(num[0]) > int(num[1]): num = num[0] else: num = num[1] current_number = int(num[0]) if current_number > minimum and len(full_num) > 1: minimum = current_number full_current_number = full_num full_num = '' elif current_number > minimum: minimum = current_number full_current_number = num full_num = '' numbers.remove(full_current_number) result += full_current_number minimum = -9999 numbers_lenght -= 1 print(result)
В задачата не се казва int или string да се върне, изглежда ми като да се иска най-голямо число на финала, следователно не намирам смисъл за str to int накрая или където и да е, освен на използваните места.
Някой има ли 100% Judge решение или някакво мнение по въпроса ? Мисля че има и други задачи, които имат нелогично поведение, друг имал ли е такъв случай и струва ли ви се възможно това.
Благодаря!