2시간 반쯤 고민했는데 모르겠네요.

어디서 봤는데, 알고리즘 문제는 고민해봐야하는건 맞지만

너무 고민만한다고 답이 나오진않는경우가 많다고

나중엔 답을 보고 넘어가는게 낫다고하길래 답을 보고싶은데..

이 사이트가 문제를 풀어야 답을 보여줘서 답을 볼수가없네요.


문제 내용은

Sort the given iterable so that its elements end up in the decreasing frequency order, that is, the number of times they appear in elements. If two elements have the same frequency, they should end up in the same order as the first appearance in the iterable.


iterable 을 받아서 그 iterable 안에 있는 원소들의 갯수가 많은 순서대로 정렬하는문제에요.

[4,6,2,2,2,6,4,4,4] 를 받을경우

[4,4,4,4,2,2,2,6,6] 가 됩니다.


만약 원소의 갯수가 같은 원소가 두개 이상일경우, 원소 갯수대로 정렬하되 같은 원소의 갯수를 가진 원소는

원래 받았던 iterable의 순서로 정렬해요.

[4,6,2,2,6,4,4,4] 를 받으면

[4,4,4,4,6,6,2,2] 로 반환합니다.


너무어려워요..

일단 제가 시도해본 코드를 참고삼아 올려둘게요.



첨부파일에 메모장으로도 첨부했어요.

복붙은 안했어요 뭔가 읽기싫어하실거같아서

혹시 요청하시면 복붙할게요..