Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
문제 https://leetcode.com/problems/serialize-and-deserialize-binary-tree/description/ Serialize and Deserialize Binary Tree - LeetCode Can you solve this real interview question? Serialize and Deserialize Binary Tree - Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a n leetcode..
문제 https://leetcode.com/problems/binary-tree-level-order-traversal/description/ 풀이 난이도: Medium 세상 간단한 BFS 문제. BFS는 큐로 구현하므로 level과 TreeNode 두개를 pair로 만들어 큐에 넣어주자. 큐는 빌때까지 반복되면서 level에 맞는 vector에 value를 넣어주고, 하위 노드를 다시 큐에 삽입한다. 코드
문제 https://leetcode.com/problems/binary-tree-maximum-path-sum/description/ Binary Tree Maximum Path Sum - LeetCode Binary Tree Maximum Path Sum - A path in a binary tree is a sequence of nodes where each pair of adjacent nodes in the sequence has an edge connecting them. A node can only appear in the sequence at most once. Note that the path does not need to pass throu leetcode.com 풀이 난이도: Hard ..
문제 https://leetcode.com/problems/longest-palindromic-substring/description/ Longest Palindromic Substring - LeetCode Longest Palindromic Substring - Given a string s, return the longest palindromic substring in s. Example 1: Input: s = "babad" Output: "bab" Explanation: "aba" is also a valid answer. Example 2: Input: s = "cbbd" Output: "bb" Constraints: * 1
문제 https://leetcode.com/problems/group-anagrams/description/ Group Anagrams - LeetCode Group Anagrams - Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters e leetcode.com 풀이 난이도: Medium 일단 브루트 포스 방식은 적절해 보이지 않는다...
문제 https://leetcode.com/problems/minimum-window-substring/ Minimum Window Substring - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 난이도: Hard 모든 위치에서부터 끝까지 일일이 확인하는 것은 O(N^2)의 복잡도를 가진다. 문자열의 길이가 최대 10,000 이기 때문에 시간 복잡도로 위험해 보인다. 따라서 슬라이딩 윈도우 기법을 적용해보자. left에서 시작해 t를 모두 가지는 rig..
문제 https://leetcode.com/problems/longest-repeating-character-replacement/ Longest Repeating Character Replacement - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 난이도: Medium 풀이를 이해하기도 힘들었던 어려운 문제였다. 일단 문자열의 최대길이는 50,000이므로 단순히 전부 시도해보는 것은 무리다. 정답인 위치의 subString을 생각해보자. 해당 subS..
문제 https://leetcode.com/problems/longest-substring-without-repeating-characters/ Longest Substring Without Repeating Characters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 난이도: Medium 일단 본인의 풀이를 소개하고 나서 더 간단한 방법을 설명하겠다. 먼저, 문자열의 각 (idx 번째)문자로 부터 오른쪽으로 이동하여 가장 가까운 같은 문자가 나오..
문제 Word Search - LeetCode Word Search - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 난이도: Medium Matirx로 분류되어 있지만, DFS로 해결 가능한 문제였다. 간단히, 문자열의 시작 문자와 동일한 위치에서부터 상하좌우 네 방향을 DFS로 탐색해 나가면 된다. 너무 간단하므로 아래에서는 follow-up 문제까지 고민해보기로 하자. DFS 풀이 코드 좀 더 생각해보기 (pruning) 이번 문제의 follow-up..
문제 https://leetcode.com/problems/rotate-image/ Rotate Image - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 난이도: Medium 이것도 일반적으로 푼다면 다음과 같이 순서를 읽어버리면 된다. 하지만 In-place 알고리즘으로 해결해야 하므로, 2차원 배열을 새로 생성하는 과정을 진행하면 안 된다. 이를 위해 어쩔수 없이 2차 for문으로 하나 하나 이동시켜야 한다. 이때 2차원 행렬을 양파의 껍질(shel..