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๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ์์๋ฅผ ์ถ๋ ฅํ๋ฉด ์ ๋ต์ธ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๊ตฌํ์ด ๋ง๋ฌด๋ฆฌ ๋๋ค.
'๐ฏ CodingTest > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] (Javascript) ๋ฉ๋ด ๋ฆฌ๋ด์ผ (0) | 2022.04.28 |
---|---|
[Programmers] (Javascript) ์ถ์ ํธ๋ํฝ (0) | 2022.04.26 |
[Programmers] (Javascript) ์์ ์ต๋ํ (0) | 2022.04.25 |
[Programmers] (Javascript) ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2022.04.25 |
[Programmers] (Javascript) ๊ดํธ ๋ณํ (0) | 2022.04.25 |