You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/** * 중첩된 배열을 평탄화하는 함수 * 재귀의 3단계(종료조건, 재귀호출, 데이터통합)를 명확히 구분 * * @param {Array} list - 평탄화할 중첩 배열 * @returns {Array} - 평탄화된 배열 */functionflatten(list){// 1. 종료조건: 배열이 아닌 경우if(!Array.isArray(list)){return[list];}// 2. 재귀처리를 위한 결과 배열 초기화letresult=[];// 3. 재귀호출과 데이터 통합for(letitemoflist){// 재귀: 각 item에 대해 flatten 수행constflattened=flatten(item);// 통합: 평탄화된 결과를 결과 배열에 연결result=result.concat(flattened);}returnresult;}exportdefaultflatten;
문제 설명
중첩된 리스트를 평탄화(flatten)하여 중첩 없는 1차원 리스트로 반환하는 문제
📝 제약조건
💡 예시
[1, [2, 3, 4], [5, 6, [7, 8]]]
[1, 2, 3, 4, 5, 6, 7, 8]
문제 해결 과정
Step 1: 문제 이해하기
작은 예시로 직접 풀어보기:
규칙:
Step 2: 접근 방법
직관적 사고
→ 재귀적 해결이 적합해 보임
자료구조 선택
Step 3: 코드 설계
약식 알고리즘:
Step 4: 코드 구현
The text was updated successfully, but these errors were encountered: