Delete occurrences of an element if it occurs more than n times
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 motif usually repeats. He isn't fond of seeing the Eiffel tower 40 times.
He tells them that he will only sit for the session if they show the same motif at most N
times. Luckily, Alice and Bob are able to encode the motif 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 list
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]
.
Similar Kata:
Stats:
Created | May 8, 2015 |
Published | May 8, 2015 |
Warriors Trained | 221007 |
Total Skips | 41399 |
Total Code Submissions | 356650 |
Total Times Completed | 98655 |
Python Completions | 41740 |
Ruby Completions | 3384 |
JavaScript Completions | 30430 |
Haskell Completions | 912 |
C# Completions | 6046 |
Java Completions | 8524 |
Kotlin Completions | 917 |
NASM Completions | 19 |
C++ Completions | 5503 |
C Completions | 1036 |
Scala Completions | 307 |
F# Completions | 63 |
Rust Completions | 1246 |
COBOL Completions | 6 |
λ Calculus Completions | 6 |
Factor Completions | 9 |
Groovy Completions | 6 |
Total Stars | 3256 |
% of votes with a positive feedback rating | 91% of 8054 |
Total "Very Satisfied" Votes | 6760 |
Total "Somewhat Satisfied" Votes | 1177 |
Total "Not Satisfied" Votes | 117 |