728x90
예매 순위 알고리즘에 대해 알아보자!
Q. 예매 순위
문제 설명
하루 동안 영화 관람객이 예매한 영화들이 무작위로 섞여서 주어집니다. 이때 가장 많이 예매된 순서대로 영화 제목을 정렬하려고 합니다. 관람객이 예매한 영화의 목록 movie가 매개변수로 주어질 때, 가장 많이 예매된 영화 순으로 영화 제목을 정렬하여 return 하도록 solution 함수를 완성해 주세요. 예매 수가 같은 영화는 사전 순으로 정렬하세요.
제한 사항
예매된 영화 목록의 길이는 1이상 10,000이하 입니다.
영화 제목의 길이는 1자 이상 50자 이하이며, 공백없이 모두 소문자입니다.
같은 제목의 서로 다른 영화는 없다고 가정합니다.
입출력 예
movie | result |
["spy","ray","spy","room","once","ray","spy","once"] | ["spy","once","ray","room"] |
입출력 예 설명
- 입출력 예 #1
- 입출력 예 #2
solution.js
const movie = ["spy", "ray", "spy", "room", "once", "ray", "spy", "once"];
function myFunction(movie) {
const ans = [];
const list = {};
movie.forEach((v) => {
list[v] = (list[v] || 0) + 1;
});
let sort_list = [];
for (let name in list) {
sort_list.push([name, list[name]]);
}
sort_list.sort((a, b) => {
return b[1] - a[1];
});
for (let i = 0; i < sort_list.length; i++) {
ans.push(sort_list[i][0]);
}
return ans;
}
console.log(myFunction(movie));
수업 시간에 내주신 문제라 어디 문제인지를 모르겠다..!
728x90
반응형
'TIL > 알고리즘' 카테고리의 다른 글
조금 어려운 알고리즘 - 옹알이(1) (0) | 2023.08.18 |
---|---|
아주 어려운 알고리즘 - 단속 카메라 (0) | 2023.08.07 |
조금 어려운 알고리즘 - 신고 결과 받기(Hashing) (0) | 2023.08.01 |
아주 쉬운 알고리즘 - 컨트롤 제트 (0) | 2023.04.09 |
조금 쉬운 알고리즘 - 영어가 싫어요 (0) | 2023.04.09 |
댓글