https://school.programmers.co.kr/learn/courses/30/lessons/42579
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1) 풀이
1. Map 자료형 sort
mapToArray.sort((a, b) => b[1] - a[1]); // value값 기준 내림차순정렬
mapToArray.sort((a, b) => b[0] - a[0]); // key값 기준 내림차순정렬
mapToArray.sort((a, b) => a[1] - b[1]); // value값 기준 오름차순정렬
mapToArray.sort((a, b) => a[0] - b[0]); // key값 기준 오름차순정렬
2. Map 자료형 set, get
2) 최종 소스코드
function solution(genres, plays) {
const answer = [];
let turn=new Map();
let mymap=new Map();
for(let i=0;i<genres.length;i++){
if(mymap.has(genres[i])){
mymap.set(genres[i],mymap.get(genres[i]).set(i,plays[i]));
turn.set(genres[i],turn.get(genres[i])+plays[i]);
}else{
mymap.set(genres[i],new Map().set(i,plays[i]));
turn.set(genres[i],plays[i]);
}
}
turn=[...turn].sort((a,b)=>b[1]-a[1]);
for(let i=0;i<turn.length;i++){
let arr = mymap.get(turn[i][0]);
const tmp = [...mymap.get(turn[i][0])].sort((a,b)=>b[1]-a[1]);
for(let j=0;j<2;j++){
if(tmp.length>j){
answer.push(tmp[j][0])
}
}
}
return answer;
}
3) 참고자료
https://nukw0n-dev.tistory.com/13
[Javascript] 자바스크립트 Map 정렬하기
잡소리, 서론 코딩테스트 응시언어가 js로 제한되어있는 곳에 지원했다. 자바스크립트와 친숙했던 나지만 자바스크립트로 알고리즘 문제들을 풀어본 적이 없어서 이것저것 찾아보면서 공부하
nukw0n-dev.tistory.com
728x90
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스/JavaScript] 소수 찾기 (1) | 2022.12.15 |
---|---|
[프로그래머스/JavaScript] 최소직사각형 (0) | 2022.12.14 |
[프로그래머스/JavaScript] 타겟 넘버 (1) | 2022.12.14 |
[프로그래머스/JavaScript] 멀리 뛰기 (2) | 2022.11.24 |
[프로그래머스/JavaScript] [1차] 캐시 (0) | 2022.11.18 |