Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def teamFormation(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def teamFormation(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def teamFormation(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def best_team_scoreteamFormation(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def best_team_score(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def teamFormation(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def teamFormationbest_team_score(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def teamFormation(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score
Input list has n elements, each element has a score. The goal is to assemble a group (of size ‘team’) of elements together and to find their total score.
Inputs:
score []
of size n,team
which is the team size,m
tells us how to slice the list
Selection of elements from the list is done in the following way:
- During each selection, we have to choose an element with the highest score among either the first
m
in available elements or the lastm
available elements in the list. The element is then removed from the list and added to the team total score. - If there are multiple elements with the same highest score among the first or last in available elements, the element closest to the start of the line is picked.
- If there are less than in available elements. then we pick the highest scored element from all available elements.
Sample Input and Output:
Sample 1
n:9, score:[17,12,10,2,7,2,11,20,8,],team:3,m:4 OUTPUT : 49
Sample 2
n:8,score:[18,5,15,18,11,15,9,7],team:5,m:1 OUTPUT : 60
Need an optimal solution for this Python code. I am getting the desired output. But I am looking for a better solution.
def best_team_score(score, team, m):
total_score = 0
for _ in range(team):
if len(score) < 2*m:
total_score += score.pop(score.index(max(score)))
elif max(score[:m]) > max(score[-m:]):
total_score += score.pop(score[:m].index(max(score[:m])))
else:
total_score += score.pop(score[-m:].index(max(score[-m:]))-m)
return total_score