분류 전체보기 (213) 썸네일형 리스트형 [Leetcode] 226. Invert Binary Tree - JS https://leetcode.com/problems/invert-binary-tree/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------- 이진트리 root가 주어질 때, left, right를 바꿔라.제한조건--------------------- 이진트리 노드의 갯수는 0 ~ 100이다.- -100 2. 접근 방법접근방법--------------------재귀적으로 left와 right를 바꿔준다. 3. 코드/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefine.. [Leetcode] 100. Same Tree - JS https://leetcode.com/problems/same-tree/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------이진트리의 root인 p, q가 주어진다.두 이진트리가 동일한지 판단하는 함수를 작성하라.두 이진트리는 구조적으로 동일하고 node들의 값이 동일해야 동일하다.제한조건--------------------- 이진트리의 node의 갯수는 0 ~ 100이다.- -10^4 2. 접근 방법접근방법--------------------재귀로 생각해보자.p,q의 val이 같은지 비교 - 다르면 false를 반환 - 같으면 p.left, q.left 재귀, p.right, q... [Leetcode] 104. Maximum Depth of Binary Tree - JS https://leetcode.com/problems/maximum-depth-of-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------binary tree의 root가 주어진다.최대 깊이를 반환하라.제한조건--------------------- 트리 속의 노드의 갯수는 0 ~ 10^4이다.- -100 2. 접근 방법접근방법--------------------재귀를 사용하여 root.left, root.right를 DFS 탐색을 한다.각 left와 right의 깊이 중 더 큰 값을 반환한다. 3. 코드/** * Definition for a binary tree node.. [Leetcode] 146. LRU Cache - JS https://leetcode.com/problems/lru-cache/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------양수의 capacity으로 LRU cache를 초기화get(key)는 key가 존재하면 key의 값을 반환한다. 없으면 -1 반환put(key, value)는 key가 존재하는 경우 value를 업데이트하고 없으면 key-value 쌍을 추가하라.key 갯수가 capacity를 초과하는 경우,최근에 사용된 key를 제거하라.제한조건--------------------- 1 2. 접근 방법접근방법--------------------Map 자료구조는 삽입된 순서를 기억한다.k.. [Leetcode] 86. Partition List - JS https://leetcode.com/problems/partition-list/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------연결리스트의 head와 x가 주어진다.x보다 작은 노드는 x보다 크거나 같은 노드보다 앞에 배치하라.단, x보다 작은 노드, x보다 크거나 같은 노드의 상대 순서는 유지하라.제한조건--------------------- 연결리스트 속 노드의 갯수는 0 ~ 200이다.- -100 2. 접근 방법접근방법--------------------x보다 작은 연결리스트 생성x보다 크거나 같은 연결리스트 생성head 연결리스트를 순회한다. - x랑 노드의 값을 비교하여 구.. [Leetcode] 61. Rotate List - JS https://leetcode.com/problems/rotate-list/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------연결리스트의 head가 주어지면 k만큼 연결리스트를 우측으로 회전시켜라.제한조건--------------------- 연결리스트 속 노드의 갯수는 0 ~ 500이다.- -100 2. 접근 방법접근방법--------------------dummy 생성단, k만큼 반복하다 보면 원래랑 똑같아지는 경우가 있다.이 경우, 연결리스트 길이와 k를 가지고 최적화 가능하다.k만큼 반복한다. prev = dummy - 연결리스트 순회하여 마지막에 도달 시 - prev.. [Leetcode] 82. Remove Duplicates from Sorted List II - JS https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------- 정렬된 연결리스트의 head가 주어진다.- 중복된 숫자를 가진 모든 노드를 제거하고 유일한 숫자들만 남기고 정렬하여 반환하라제한조건--------------------- 연결리스트 속 노드의 갯수는 0 ~ 300개이다.- -100 2. 접근 방법접근방법--------------------연결리스트 순회하면서 값이 hash 맵에 head.val 빈도수 추가dummy 생성연결리스트 순회하면서 - hash에 빈도수가 .. [Leetcode] 19. Remove Nth Node From End of List - JS https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------- 연결리스트 head가 주어지면, 끝에서 n번째 노드를 제거하여 연결리스트를 반환하라.제한조건--------------------- sz는 연결리스트 속 노드의 갯수이다.- 1 2. 접근 방법접근방법--------------------연결리스트 길이 구하기 위한 countHead 변수 추가dummy 생성dummy.next = headprev = dummyprev를 끝에서 n번째 까지 도달 (sz - n 까지)curr = prev... 이전 1 2 3 4 5 6 7 8 ··· 27 다음