깊은바다거북
개발 공부 기록
깊은바다거북
전체 방문자
오늘
어제
  • 분류 전체보기 (219)
    • JAVA (9)
    • JavaScript (15)
    • 스파르타코딩클럽 (11)
      • [내일배움단] 웹개발 종합반 개발일지 (5)
      • [내일배움캠프] 프로젝트와 트러블 슈팅 (6)
    • SQL | NoSQL (4)
    • CS 등등 (0)
    • TIL | WIL (173)
    • 기타 에러 해결 (3)
    • 내 살 길 궁리 (4)

인기 글

최근 글

최근 댓글

태그

  • TypeScript
  • Til
  • 자바스크립트 기초 문법
  • 트러블 슈팅 Troubleshooting
  • BFS(너비우선탐색)
  • 시간 복잡도
  • 자잘한 에러 해결
  • Trie
  • 자료 구조
  • Inorder Traversal(중위 순회)
  • 01. 미니 프로젝트
  • DFS(깊이우선탐색)
  • Binary Tree(이진 트리)
  • Backtracking(백트래킹)
  • leetcode-cli
  • 재귀 함수
  • 혼자 공부하는 자바스크립트
  • 프로그래머스
  • tree
  • 최대 힙(Max Heap)
  • 최소 힙(Min Heap)
  • 점화식(Recurrence Relation)
  • Preorder Traversal(전위 순회)
  • Leetcode
  • BST(이진 탐색 트리)
  • 팀 프로젝트
  • Linked List
  • 코딩테스트 연습문제
  • TIT (Today I Troubleshot)
  • POST / GET 요청
hELLO · Designed By 정상우.
깊은바다거북

개발 공부 기록

10/13 (금) 백트래킹 TIL
TIL | WIL

10/13 (금) 백트래킹 TIL

2023. 10. 13. 23:20

공부한 것

  • LeetCode #78. Subsets
    Subsets - LeetCode
    Can you solve this real interview question? Subsets - Given an integer array nums of unique elements, return all possible subsets (the power set). The solution set must not contain duplicate subsets. Return the solution in any order.   Example 1: Input: nums = [1,2,3] Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] Example 2: Input: nums = [0] Output: [[],[0]]   Constraints: * 1 <= nums.length <= 10 * -10 <= nums[i] <= 10 * All the numbers of nums are unique.
    https://leetcode.com/problems/subsets/description/

    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

    'TIL | WIL' 카테고리의 다른 글
    • 10/17 (화) 배열에서 K번째로 큰 수 찾기(최소 힙 구현) TIL
    • 10/16 (월) 스트림에서 K번째로 큰 수 찾기(최소 힙 구현) + 우선순위 큐 개괄 TIL
    • 10/12 (목) Puppeteer에 발생한 CORS 문제 우회 성공 TIL, TIT
    • 10/11 (수) 브라우저에 막대 그룹 그래프를 그리다 TIL
    깊은바다거북
    깊은바다거북

    티스토리툴바