function solution(id_list, report, k) {
// id_list์ ๊ฐ ์ ์ ๋ฅผ key, []๋ฅผ value๋ก ๊ฐ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
// report์ ๊ฐ๋ค์ ๋ํด splitํ๊ณ 0๋ฒ์งธ ์์๋ฅผ key๋ก ๊ฐ์ง ๋ ์์ ๊ฐ์ฒด์ value์ 1๋ฒ์งธ ์์๋ฅผ pushํ๋ค.
let reportList = {};
for (let id of id_list) {
reportList[id] = [];
}
// ์ ๊ณ ๊ธฐ๋ก์ [์ ๊ณ ํ ์ ์ , ์ ๊ณ ๋ฐ์ ์ ์ ]๋ก splitํ๊ณ ๊ฐ๊ฐ์ reportList ๊ฐ์ฒด์ key๊ฐ๊ณผ value์ ๋ฐฐ์ด์ ์ถ๊ฐํ๋ค.
for (let value of report) {
let [reporting, reported] = value.split(' ');
if (reportList[reporting].includes(reported)) {
continue;
} else {
reportList[reporting].push(reported);
}
}
// ์ ์ฒด ์ ๊ณ ๋ฐ์ ์ ์ ๋ค์ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
let reportedTotal = Object.values(reportList).flat();
// key๋ฅผ ์ ์ , value๋ฅผ ํด๋น ์ ์ ๊ฐ ์ ๊ณ ๋นํ ํ์์ ๋ํ ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
let reportedCount = {};
for (let id of id_list) {
reportedCount[id] = 0;
}
for (let reportedId of reportedTotal) {
reportedCount[reportedId]++;
}
// reportList์์ key๊ฐ์ ์ ์งํ ์ํ๋ก value(key์ ํด๋นํ๋ ์ ์ ๊ฐ ์ ๊ณ ํ ์ ์ ๋ช
์ ๋ํ ๋ฐฐ์ด)๋ฅผ reportedCount๋ฅผ ์ด์ฉํ์ฌ ์ ๊ณ ํ ์ ์ ์ด๋ฆ์ ๊ฐ๊ฐ ๊ทธ ์ด๋ฆ์ ์ฃผ์ธ์ด ์ ๊ณ ๋นํ ํ์๋ก ๋ฐ๊ฟ์ฃผ๊ณ , filter()๋ฅผ ํตํด ๊ทธ ํ์๋ค ์ค k ์ด์์ธ ๊ฒฝ์ฐ๋ง ๋จ๊ฒจ์ค๋ค.
for (let [key, value] of Object.entries(reportList)) {
reportList[key] = value.map((x) => reportedCount[x]).filter((x) => x >= k);
}
// reportList์๋ key : ์ ์ , value : ๋ฐฐ์ด(key์ธ ์ ์ ๊ฐ ์ ๊ณ ํ ์ ์ ๋ค ์ค k๋ฒ ์ด์ ์ ๊ณ ๋นํ ํ์์ ์) ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ณง ์ ์ ๊ฐ ์ ๊ณ ํ์ฌ ์ด์ฉ์ ์ง๋ ์ ์ ์ ์๊ฐ ๋๋ค.
let answer = id_list.map((x) => reportList[x].length);
return answer;
}
- ์ฝ๋์ ๋ฐ๋ก ์ ์ผ๋ฉด ์ดํดํ๊ธฐ ๋ณต์กํ ๋ฏํ์ฌ, ์ฃผ์์ฒ๋ฆฌ๋ก ์ค๋ช ํด๋์์ต๋๋ค! ๊ฐ ์ฃผ์๋ง๋ค ์๋์ ํด๋นํ๋ ์ฝ๋๋ฅผ ๋ฐ๋ผ๊ฐ์๋ฉด ๋ฉ๋๋ค :)
์ด๋ ค์ด ๋ฌธ์ ๋ ์๋์ง๋ง ์ด์ ์ ํ์ด์ฌ์ ์ต์ํด์ ธ์์ ๋, ํ์ด์ฌ์ผ๋ก ํ์ง ๋ชปํ์๋ ๋ฌธ์ ๋ผ์ ์์ฌ์ ๋๋ฐ..!!!!!
ํ์ด์ฌ์ผ๋ก ๋ชปํ์๋ ๋ฌธ์ ๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํ ์ ์๊ฒ ๋๋ค๋!!!!!! ์๋ฐ์คํฌ๋ฆฝํธ ๋ง์ธ!!!
์์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ ๋ง ์ฌ๋ฏธ์๊ณ ์ข๋คใ
ใ
ใ
ใ
ใ
'๐ JavaScript > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์ฐ์ต๋ฌธ์ - JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) | 2022.07.03 |
---|---|
[JS] ์ฐ์ต๋ฌธ์ - N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2022.07.02 |
[JS] 2021์นด์นด์ค - ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2022.07.01 |
[JS] 2021์นด์นด์ค - ์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2022.07.01 |
[JS] 2020์นด์นด์ค - ํคํจ๋ ๋๋ฅด๊ธฐ (0) | 2022.07.01 |