๐ฆ
Group By
Group By๋ณดํต ๊ฐ์ฒด +20pts
Problem
Write a function that groups array elements by a given key.
Examples
Input:
groupBy([{age: 20}, {age: 20}, {age: 30}], "age")Output:
{20: [{age: 20}, {age: 20}], 30: [{age: 30}]}Explanation
์ด ๋ฌธ์ ๋ **๋ฐ์ดํฐ ๊ทธ๋ฃนํ** ํจํด์ ํ์ตํฉ๋๋ค. SQL์ GROUP BY์ ์ ์ฌํ ๊ธฐ๋ฅ์ผ๋ก ๋ฐ์ดํฐ ๋ถ์์ ํ์์ ์ ๋๋ค. **๊ทธ๋ฃนํ๋?** ํน์ ์์ฑ ๊ฐ์ ๋ฐ๋ผ ์์๋ค์ ๋ถ๋ฅํ๋ ๊ฒ์ ๋๋ค. **์๊ณ ๋ฆฌ์ฆ ๋์** 1. ๊ฐ ์์์ ํค ๊ฐ์ ์ถ์ถ 2. ํด๋น ๊ฐ์ ๊ฐ์ง ๊ทธ๋ฃน์ด ์์ผ๋ฉด ์์ฑ 3. ์์๋ฅผ ํด๋น ๊ทธ๋ฃน์ ์ถ๊ฐ **groups[value] = groups[value] || []** - ๊ทธ๋ฃน์ด ์์ผ๋ฉด ๋น ๋ฐฐ์ด ์์ฑ - ์ด๋ฏธ ์์ผ๋ฉด ๊ธฐ์กด ๋ฐฐ์ด ์ ์ง **[{age:20}, {age:20}, {age:30}] ์ฒ๋ฆฌ** 1. {ag...
View detailed explanation โKey Concepts
๊ทธ๋ฃนํ ํจํด reduce๋ก ๊ฐ์ฒด ์์ฑ ๋์ ํค ์ ๊ทผ || ์ฐ์ฐ์
Time: O(n) Space: O(n)
solution.js
Ctrl + Enter
Run tests to see results here.