나는 이렇게 학습한다/Algorithm & SQL

Delete occurrences of an element if it occurs more than n times

daco2020 2022. 4. 2. 12:12
반응형

Description:

Enough is enough!

Alice and Bob were on a holiday. Both of them took many pictures of the places they've been, and now they want to show Charlie their entire collection. However, Charlie doesn't like these sessions, since the motive usually repeats. He isn't fond of seeing the Eiffel tower 40 times. He tells them that he will only sit during the session if they show the same motive at most N times. Luckily, Alice and Bob are able to encode the motive as a number. Can you help them to remove numbers such that their list contains each number only up to N times, without changing the order?

Task

Given a list and a number, create a new list that contains each number of lst at most N times without reordering. For example if the input number is 2, and the input list is [1,2,3,1,2,1,2,3], you take [1,2,3,1,2], drop the next [1,2] since this would lead to 1 and 2 being in the result 3 times, and then take 3, which leads to [1,2,3,1,2,3]. With list [20,37,20,21] and number 1, the result would be [20,37,21].

 

Solution:

1. Fetch the elements of the order array one by one.
2. If the number of corresponding elements in the result array is less than max_e, put it in the array.
3. Return the final result array.

 

def delete_nth(order,max_e):
    result = []
    for i in order:
        if result.count(i) < max_e:
            result.append(i)
    return result

 

 

 

반응형

'나는 이렇게 학습한다 > Algorithm & SQL' 카테고리의 다른 글

How Green Is My Valley?  (0) 2022.04.04
Regexp Basics - is it a letter?  (0) 2022.04.03
Jaden Casing Strings  (0) 2022.04.01
Complementary DNA  (0) 2022.03.31
Find the odd int  (0) 2022.03.30