[LeetCode] 2625. Flatten Deeply Nested Array

Chobby·2024년 6월 28일
1

LeetCode

목록 보기
25/194

DFS를 구현하여 모든 요소를 순회하며 배열인 요소 중 n차원 까지의 요소들을 flat 하는 것을 요구하는 문제이다.

type MultiDimensionalArray = (number | MultiDimensionalArray)[];

const flat = function (arr: MultiDimensionalArray, n: number):  MultiDimensionalArray {
    if(n === 0) return arr
    const res = []

    function dfs(arr, depth) {
        for(const item of arr) {
            if(typeof item !== 'number' && depth < n) dfs(item, depth + 1)
            else res.push(item)
        }
    }
    dfs(arr, 0)
    return res
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글