Hand Coding - doong-jo/web-development-basics GitHub Wiki

  1. 1-100๊นŒ์ง€ ์ˆ˜์—ด ์ค‘ ํ•œ๊ฐ€์ง€ ๋นผ๊ณ  99๊ฐœ ์ˆ˜๊ฐ€ ๋žœ๋ค์ˆœ์„œ๋กœ ์ฃผ์–ด์งˆ ๋•Œ ๋น ์ง„ ํ•œ๊ฐœ ์ˆ˜ ์ฐพ๊ธฐ

  2. ํŽ ๋ฆฐ๋“œ๋กฌ

  3. ๊ฐ์ฒด๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด๊ณผ ๊ทธ ์›์†Œ์˜ ์•„์ด๋”” ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„๋•Œ ์•„์ด๋”” ๋ฐฐ์—ด๋กœ ๊ฐ์ฒด ๋ฐฐ์—ด ์†ŒํŒ…ํ•˜๊ธฐ

  4. flatten

    function flatten(arr) {
        const result = arr.reduce((acc, cur) => { 
            if( Array.isArray(cur) ) {
                return acc.concat(flatten(cur));
            }
            acc.push(cur);
            return acc;
        }, []);
        
        return result;
    }
  1. ๋ฐฐ์—ด์—์„œ ์ค‘๋ณต๋˜๋Š” ์•„์ดํ…œ๋“ค ๋งŽ์€ ๊ฑฐ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ
    const arr = [1, 1, 1, 2,2, 3, 3, 3, 3, 3, 3, 4, 4];
    const dic = {};
    arr.forEach(v => {
        if( dic[v] ) ++dic[v];
        else dic[v] = 1;
    });
    Object.keys(dic).sort((a, b) => dic[b] - dic[a]);