ブリブリ備忘録 おっ、python

HackerRankの問題とコメント(python3) 拙いですが...

Find the Runner-Up Score!  リスト 削除

・問題

Given the participants' score sheet for your University Sports Day, you are required to find the runner-up score. You are given scores. Store them in a list and find the score of the runner-up.

Input Format

The first line contains . The second line contains an array   of  integers each separated by a space.

Constraints

・2≤n≤10

・-100≤A[i]≤100

Output Format

Print the runner-up score.

Sample Input 0

5
2 3 6 6 5

Sample Output 0

5

Explanation 0

Given list is . The maximum score is , second maximum is . Hence, we print  as the runner-up score.

ソースコード

if __name__ == '__main__':
    n = int(input())
    arr = map(int, input().split())
    l= list(arr)
    a = max (l)
while max(l)==a:
    l.remove(a)
print (max(l))

・コメント

2番目のスコアを探し、出力する問題。

まず、与えられたデータを全てリストに入れる。

その中からMAXのデータを見つける。

まず、そのデータをリストから削除する。

最高点の人が二人以上いる場合は、一度削除しただけではダメなので、削除後のデータのMAXが最初のデータのMAXとは一致しなくなるまで削除を繰り返す必要がある。

・URL

https://www.hackerrank.com/challenges/find-second-maximum-number-in-a-list/problem