본문 바로가기
반응형

알고리즘211

[알고리즘] c++ cpp Minimum Depth of Binary Tree 포인트 1. 이진트리의 깊이를 아는 방법, 이진트리는 dfs로 들어간다. 2. 이진트리는 왼쪽 오른쪽 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include using namespace std; struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeNode(int x, TreeNode* left, TreeNode* right) : val(x), left(left), right(right) {} }; class Solution {.. 2020. 10. 22.
[알고리즘] c++ cpp 최댓값과 최솟값 포인트 1. 문자열 + 최댓값과 최솟값을 구할 수 있는가? 특히, 최댓값, 최솟값은 자주 나오니 알아두자 (max, min) 을 사용해서 구하곤 한다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include using namespace std; string solution(string s) { string answer = ""; vector vc; for (auto ele : s) { if (ele == ' ') { //공백을 만나면 값을 넣어준다. vc.push_back(stoi(answer)); answer = ""; //string 초기화 } else answer += ele; //계속 string 값을 더해준다. } vc.push_back(stoi.. 2020. 10. 22.
[알고리즘] 더 맵게 포인트 1. Heap 문제 임을 기억하고 알아보자 Heap은 무엇일까? Heap은 완전 이진 트리 이며, `우선 순위가 높은` 노드가 루트 쪽에 가까운 자료구조를 말합니다. 또 이를 구현한 것이 priority_queue (우선순위 큐) 입니다. 우선 순위에 따라서 min_heap, max_heap 이라고 합니다. 이 문제의 경우는 min_heap 을 사용하는 것이 현명하다고 생각합니다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 기존 문제 그대로 푼 코드 #include #include #include #include #include using namespace std; int solution(vector vc, int K) { int answer = 0; while (vc.size() .. 2020. 10. 22.
[알고리즘] 가장 큰 수 포인트 string 의 정렬의 기본을 알면 편합니다. string 의 기본 정렬은 문자열의 길이 입니다. 문자열의 길이 순서로 정렬이 됩니다. 그럼 이때 string 으로 된 숫자 들은 어떻게 정렬을 할까요? 그 방법은 사전식 순서 입니다. 코드에서 처럼 string 자체를 대소 비교를 하게 되면 사전식 순으로 배열을 하게 됩니다. python 문자열을 무조건 사전식 먼저, 그 다음 길이 순서 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include #include #include using namespace std; bool cmp(string a, string b) { if (b + a < a + b) return true; return false; } string so.. 2020. 10. 22.
반응형