[Programmers] (Javascript) νν
https://programmers.co.kr/learn/courses/30/lessons/64065?language=javascript
μ½λ©ν μ€νΈ μ°μ΅ - νν
"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]
programmers.co.kr
βΆ μ½λ :
function solution(s) {
var answer = [];
var data = new Map();
// μ
λ ₯μΌλ‘ λ€μ΄μ€λ λ¬Έμμ΄ νμ±
var reg = new RegExp(/[\{\}]/,'g');
s = s.replace(reg, '');
s = s.split(',');
for (const e of s)
{
data.set(e, data.get(e)+1 || 1);
}
data = [... data].sort((a,b) => b[1] - a[1]);
for (const e of data)
{
answer.push(parseInt(e[0]));
}
return answer;
}
βΆ λ¬Έμ νμ΄ :
1. λ¨Όμ μ λ ₯μΌλ‘ λ€μ΄μ¨ λ¬Έμμ΄λ€μ μ«μμ μΌνλ§ μ μΈνκ³ μμ μ£Όμλ€. ({} -> μ€κ΄νΈ μ κ±°)
2. μ΄ν κ°κ°μ μμμ μλ₯Ό μΈμ£Όμλ€.
3. λ¬Έμ λ₯Ό μ μ½μ΄λ³΄λ©΄ μ λ ₯μΌλ‘ λ€μ΄μ¨ ννμ μ‘°ν©λ€μλ κ°μ₯ λ¨Όμ μ€λ μμμ μκ° μ μΌλ§κ³ κ°μ₯ μ μμμ μμκ° μ μΌ λ¦μ μμμ΄λ€. μ¦, μ 리νμλ©΄ λ±μ₯νλ μμμ μλλ‘ μ λ ¬ν ννμ μΆλ ₯νλ©΄λλ€. μ΄λ ννμ μμλ μ€λ³΅λλ©΄ μλκΈ°μ μ΄λ₯Ό νμ©νκΈ°μν μλ£κ΅¬μ‘°λ‘ Mapμ μ¬μ©νμλ€. (ν€ μ€λ³΅μ΄ μλμ΄μ) λ°λΌμ Mapμ μ μΈνμ¬ ν΄λΉ μμλ€μ λ±μ₯νμλ₯Ό μΈμ΄μ£Όκ³ keyλ₯Ό valueκ°μ κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬ν μμλ₯Ό μΆλ ₯νλ©΄ μ λ΅μΈ κ²μ΄λ€.
μ΄λ κ² κ΅¬νμ΄ λ§λ¬΄λ¦¬ λλ€.