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 решение или някакво мнение по въпроса ? Мисля че има и други задачи, които имат нелогично поведение, друг имал ли е такъв случай и струва ли ви се възможно това.
Благодаря!