본문 바로가기

Algorithm/자료구조

(126)
(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) 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) 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에 저장..
(C++) - LeetCode (easy) 21. Merge Two Sorted Lists https://leetcode.com/problems/merge-two-sorted-lists/ Merge Two Sorted Lists - 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 linked list의 이해가 필요한 자료구조 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 두 linked list의 원소들을 하나로 모으기 위해 vector vals와 ListNode *cur를 선언합니다.list1, list2를 cur를 이용해 순회하며 vector에 모든..
(C++) - LeetCode (easy) 20. Valid Parentheses https://leetcode.com/problems/valid-parentheses/ Valid Parentheses - 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 자료구조를 이용한 문제였습니다. 📕 풀이방법 📔 풀이과정 stack st를 선언해줍니다. 여러 경우를 생각해줍니다. 1. 여는 괄호 '(', '{', '[' 가 나오면 st에 push 해줍니다. 2. 닫는 괄호 ')', '}', ']'가 나온다면 두 경우가 있습니다. 2-1. stack에 원소가..
(C++) - 백준(BOJ) 5157 : Bailout Bonus https://www.acmicpc.net/problem/5157 5157번: Bailout Bonus In order to prevent many financial companies from collapsing, the US Government (and several other governments) “bailed them out”, in the sense that they provided multi-billion dollar emergency loans. After this happened, several of the companies went www.acmicpc.net map을 이용해 푼 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 data 수 k, 전체 회사 수 c, 구제할 회사 수 b, 보너..
(C++) - 백준(BOJ) 15720 : 카우버거 https://www.acmicpc.net/problem/15720 15720번: 카우버거 첫째 줄에는 주문한 버거의 개수 B, 사이드 메뉴의 개수 C, 음료의 개수 D가 공백을 사이에 두고 순서대로 주어진다. (1 ≤ B, C, D ≤ 1,000) 둘째 줄에는 각 버거의 가격이 공백을 사이에 두고 주어진 www.acmicpc.net 자료구조를 이용해 푼 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 햄버거 개수 burgerNum, 사이드 메뉴 개수 sideNum, 음료개수 drinkNum, 전체 메뉴 가격 totalPrice, 최소 세트메뉴 가격 minPrice, 세트를 만들고 남은 메뉴들의 가격을 어디부터 측정할지 기준이될 변수 range, 각 메뉴에 대한 vector를 선언한 후 적절히 입력받습니다..