[LeetCode] 105. Construct Binary Tree from Preorder and Inorder Traversal, Medium
·
CodingTest/LeetCode
1. 문제트리를 전위순회한 배열 preorder와 중위순회한 inorder 배열이 주어질 때, 해당 이진 트리를 반환하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * ..
[LeetCode] 106. Construct Binary Tree from Inorder and Postorder Traversal, Medium
·
CodingTest/LeetCode
1. 문제어떤 트리를 중위 순회한 inorder 배열과 후위 순회한 postorder 배열이 주어질 때, 이 트리를 반환하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) *..
[LeetCode] 112. Path Sum, Easy
·
CodingTest/LeetCode
1. 문제이진 트리와 targetSum이 주어질 때, 리프노드까지의 경로 중 targetSum과 합이 같아지는 경로가 존재하는 지 판별하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null :..
[LeetCode] 101. Symmetric Tree, Easy
·
CodingTest/LeetCode
1. 문제이진 트리가 주어질 때, 루트 노드를 기준으로 양쪽 서브 트리가 대칭인 지 판별하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.righ..
[LeetCode] 104. Maximum Depth of Binary Tree, Easy
·
CodingTest/LeetCode
1. 문제이진트리가 주어질 때, 최대 깊이를 반환하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined..
[LeetCode] 102. Binary Tree Level Order Traversal, Medium
·
CodingTest/LeetCode
1. 문제이진 트리가 주어질 때, level 순회한 결과를 level 별로 묶어서 반환하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right..
[LeetCode] 145. Binary Tree Postorder Traversal, Easy
·
CodingTest/LeetCode
주어진 이진트리를 전위 순회하는 순서를 담은 배열을 반환하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undef..
[LeetCode] 144. Binary Tree Preorder Traversal, Easy
·
CodingTest/LeetCode
주어진 이진트리를 전위 순회하는 순서를 담은 배열을 반환하라.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undef..
[LeetCode] 841. Keys and Rooms, Medium
·
CodingTest/LeetCode
1. 문제2차원 배열이 주어질 때, 행은 방의 개수, 열은 해당 방에서 가지고 있는 열쇠의 수.0번 방은 무조건 열려있고, 각 방에서 찾은 key로 모든 방을 방문할 수 있는 지 여부를 반환하라.2. 해결function DFS(rooms: number[][], room: number, visit: boolean[]) { if (visit[room]) return false; visit[room] = true; const findKey = rooms[room]; for(const key of findKey) { DFS(rooms, key, visit) }}function canVisitAllRooms(rooms: number[][]): boole..
[LeetCode] 542. 01 Matrix, Medium
·
CodingTest/LeetCode
1. 문제m x n크기의 2차원 배열이 주어질 때, 값이 1인 좌표에는 인접한 0과의 최소 거리를 저장 후 반환하라.2. 해결const row = [-1, 1, 0, 0];const col = [0, 0, -1, 1];function updateMatrix(mat: number[][]): number[][] { const queue = new Array(); for(let i =0; i 0) { const [x,y] = queue.shift(); for(let i=0; i= 0 && adjustX =0 && adjustY 처음에는 1인 좌표부터 0을 찾아 1을 증가 시키는 뭐 그런식으로 접근했는데, 잘못된 접근이었다.BFS를 풀 때 방문 여부를 항상 고려해야 한..