본문 바로가기

Algorithm

(2139)
(C++) - LeetCode (easy) 108. Convert Sorted Array to Binary Search Tree https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ Convert Sorted Array to Binary Search Tree - 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 균형 이진 트리를 만드는 문제였습니다. 📕 풀이방법 📔 풀이과정 1. 왼쪽자식과 오른쪽 자식이 균일하게 node를 생성하는 getBST함수를 정의합니다. 2. 재귀적으로 수행하며 left ~ mid - 1까..
(C++) - LeetCode (easy) 104. Maximum Depth of Binary Tree https://leetcode.com/problems/maximum-depth-of-binary-tree/ Maximum Depth of Binary Tree - 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 dfs로 해결한 문제였습니다. 📕 풀이방법 📔 풀이과정 terminal node에서 0을 반환하고 더 깊은 depth로부터 1씩 더해 가장 큰 depth를 반환하는 dfs함수를 구현합니다. 📔 정답출력 dfs함수의 결과를 반환합니다. 📕 Code 📔 C++..
(C++) - LeetCode (easy) 101. Symmetric Tree https://leetcode.com/problems/symmetric-tree/ Symmetric Tree - 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 tree 순회로 해결한 문제였습니다. 📕 풀이방법 📔 풀이과정 * 여러 풀이 방식이 예상되는데 여기서 inorder로 순회해 얻은 vector를 출력해보니 대칭형태가 나오는 것을 파악하고 제출했지만 틀렸습니다. 값이 같은데 모양만 다른 경우가 있을 때가 예외였습니다. 이를 depth를 주어 treenode..
(C++) - LeetCode (easy) 374. Guess Number Higher or Lower https://leetcode.com/problems/guess-number-higher-or-lower/ Guess Number Higher or Lower - 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 이분탐색 문제였습니다. 📕 풀이방법 📔 풀이과정 1. 1초는 1억연산이므로 n이 2^31승인 경우 O(n) 인 시간복잡도를 가지는 brute force로 해결할 수 없습니다. O(logn)인 이분탐색을 사용해야합니다. 2. 1 ~ n-1까지의 범위를 이분탐..
(C++) - LeetCode (easy) 100. Same Tree https://leetcode.com/problems/same-tree/ Same Tree - 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 tree 순회 문제였습니다. 📕 풀이방법 📔 풀이과정 1. 같은 tree인지 아닌지는 tree 순회 결과를 비교했을 때 같은지 여부로 판단 가능합니다. 2. root -> left자식들 -> right자식들 순으로 순회하는 preorder함수를 구현해 그 결과를 vector에 담아 반환해줍니다. val 값이 null 인 경..
(C++) - LeetCode (easy) 94. Binary Tree Inorder Traversal https://leetcode.com/problems/binary-tree-inorder-traversal/ Binary Tree Inorder Traversal - 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 자료구조 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 class의 member 변수로 v를 선언해줍니다. 📔 풀이과정 중위순회(inorder)는 왼쪽 자식, root, 오른쪽 자식 순으로 방문하므로 그에 맞게 함수를 호출해줍니다. 📔 정답출력 v를 반..
(C++) - LeetCode (easy) 88. Merge Sorted Array https://leetcode.com/problems/merge-sorted-array/ Merge Sorted Array - 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 간단 정렬 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 nums1과 nums2를 하나로 먼저 합쳐줍니다. 📔 풀이과정 반환값이 없으므로 단순 오름차순으로 nums1을 정렬해주면 됩니다. 📕 Code 📔 C++ class Solution { public: void merge(vector& n..
(C++) - LeetCode (easy) 83. Remove Duplicates from Sorted List https://leetcode.com/problems/remove-duplicates-from-sorted-list/ Remove Duplicates from Sorted List - 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 자료구조 문제였습니다. 📕 풀이방법 📔 풀이과정 1. head의 원소에 대해 while loop를 수행하며 각 val들을 자료구조 set에 넣어줍니다. 2. 중복이 제거된 set에 대해 for loop를 수행하며 정답변수 ans에 저장..