공부한 것
- LeetCode #78. Subsets
Backtracking을 이용해 주어진 배열로 가능한 모든 부분 배열 조합을 반환하는 문제였다(빈 배열 포함).
아래 코드에서 for문과 재귀 호출이 작동하는 결과를 그려보면 다음과 같다:
코드:
// 보조 재귀함수를 이용한 backtracking 풀이: function subsets1(nums: number[]): number[][] { function makeSubset(sub: number[], startIndex: number) { for (let i = startIndex; i < nums.length; i++) { sub.push(nums[i]); result.push([...sub]); makeSubset(sub, i + 1); sub.pop(); } } const result: number[][] = [[]]; makeSubset([], 0); return result; }
주의점: 그냥
push(sub)
하면 이후 루프에서 바뀌는 그대로 영향을 받게 된다. 참조 주소를 전달할지, 내용물을 복사해서 전달할지를 잘 생각해야 한다.
진행 중
- puppeteer 라이브러리로 브라우저를 자동으로 열어 그래프를 그리는 html 파일을 실행하기 ✔️
- 하드코딩한 그래프 데이터를 실제 leetcode.com/api 서버에서 받아온 응답으로 대체하기(진행중)
- cmd에서 $leetcode submission 관련 명령어로 puppeteer까지 실행되도록 연결하기
Uploaded by N2T