프로그래밍-코딩테스트/LeetCode(84)
-
[Tree] Invert Binary Tree
트리를 좌우반전하란다 기본적으로 traverse가 필요한 문제라서 traverse함수를 만들어 풀었다
2021.01.25 -
[Tree] Maximum Depth of Binary Tree
Given the root of a binary tree, return its maximum depth. A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 트리의 최대 depth를 구하는 문제 일종의 카데인 알고리즘으로 풀어냈다 input노드의 최대 뎁스는 left뎁스와 right뎁스의 최대 뎁스에 1을 더한것이다
2021.01.25 -
[Tree] Merge Two Binary Trees
Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not. You need to merge them into a new binary tree. The merge rule is that if two nodes overlap, then sum node values up as the new value of the merged node. Otherwise, the NOT null node will be used as the node of new tree. 두개의 바이너리 트리에 node 두 개가 들..
2021.01.25 -
[Array] Maximum Subarray
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. 배열이 주어졌을때 합이 최대가 되는 연속된 부분의 합이 얼마인지 리턴하라는 문제 이런 경우에는 보통 Kadane`s Algorithm을 사용한다 이 알고리즘의 핵심 로직은 원소들이 양수인지 여부를 가리는데 있다. 만약 배열의 모든 원소가 양수라면 더할수록 최댓값을 경신 할 것이고, 음수라면 최대한 더하지 않는 것이(즉, 음수 중 최댓값을 갖는 원소 한개만) 최댓값일 것이다 Kadane`s Algorithm의 기본원리는 이전까지의 부분합 중 최대를 알아내는 것이다 ..
2021.01.17 -
[Dynamic Programming] Climbing Stairs
You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 1칸 또는 2칸씩만 계단을 오를 수 있는 경우에 대해, 총 계단수가 주어졌을때 올라갈 수 있는 가짓수는 몇개인가? 딱 봐도 점화식 문제다. 경우의수[n] = 경우의수[n-1] + 경우의수[n-2](n>2)가 된다. 1칸 또는 2칸만 오를 수 있댔으니, 점화식의 관점에서는 1칸전 경우의수 + 2칸전 경우의수가 현재 계단을 오를 수 있는 경우의 수가 된다는 뜻. 간단한 문제였다
2021.01.17 -
[Array] Best Time to Buy and Sell Stock
You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0. 가격과 각 index가 날짜인 배열이 주어져 있을때 내가 어느 날짜에 사서 어느 날짜에 팔아야 최대 이익인..
2021.01.17