Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

준우승 점수를 찾는 Python 프로그램

<시간/>

다른 수의 참가자에 대한 점수 목록이 있다고 가정합니다. 준우승 점수를 찾아야 합니다.

따라서 입력이 점수 =[5,8,2,6,8,5,8,7]과 같으면 승자 점수가 8이고 두 번째로 큰 점수가 7이기 때문에 출력은 7이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 승자 :=-99999
  • 2위 :=-99999
  • 점수의 각 i에 대해 다음을 수행합니다.
    • 내가> 승자라면
      • 승자 :=나
      • runner_up :=우승자
    • 그렇지 않으면 i <우승자 및 i> runner_up일 때
      • 우승자 :=나
  • 2위 반환

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다.

def solve(scores):
   winner = -99999
   runner_up = -99999
   for i in scores:
      if (i > winner):
         winner, runner_up = i, winner
      elif (i < winner and i > runner_up):
         runner_up = i
   return runner_up

scores = [5,8,2,6,8,5,8,7]
print(solve(scores))

입력

[5,8,2,6,8,5,8,7]

출력

7