faahad.hossain's blog

By faahad.hossain, history, 15 months ago, In English

For this problem, most of the solution was used by lambda. I have no idea why lambda?

You can easily use regular python syntax and data structures.

My solution with python is as follows:

participents_count, position = map(int, input().split(' '))
scores = list(map(int, input().split(' ')))

total_advanced = 0
for point in scores:
    if point >= scores[position-1] and point != 0:
        total_advanced += 1

print(total_advanced)

  • First I'm taking user input of number_of_participents, the position that will be compared to calculate advances. splitting the inputs through space and converting them into integrates using map().
  • Next, I'm collecting scores that have been gained by the participants by splitting the inputs through space and converting them into integrates using map().
  • Next iterating over the scores of the participants.
  • if the score is greater than or equal to the mentioned position participant's score and not less than zero then increase 1 for advancing participant's count.

N.B. The complex part for me was understanding the second integer of the first line. Actually, it was telling about the position of the participant's input to be calculated.

Full text and comments »

  • Vote: I like it
  • -10
  • Vote: I do not like it