본문 바로가기
반응형

C++153

[알고리즘] c++ cpp 최소비용 구하기 포인트 1. 최단거리를 구하는 방법으로 다익스트라 알고리즘을 사용하였습니다. (모든 정점에서 최단거리를 구하는 것은 플로이드 와샬 알고리즘 - 다이나믹) 2. MST 하고 다른 것을 알면 좋다. priority_queue //min heap 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include using namespace std; int n, m; int s, e, c; int start, arrive; int dist[1001]; vector map[1001]; int main() { cin >> n >> m; for (int i = 0; i > s >> e >> c; map[s].push_back({c, e}); // .. 2020. 10. 22.
[알고리즘] 최단 경로(다익스트라), MST (프림) 포인트 1. 다익스트라 알고리즘과 프림 알고리즘은 거의 차이가 없다. 다익스트라는 값을 계속해서 더해서 나간다고 생각을 하면 된다. 다익스트라 #include #include #include using namespace std; vector map[101]; vector dijkstra(int start, int goal) { vector dist (goal, 9876554321); dist[start]=0; priority_queue pq; pq.push ({ 0, start }); while(!pq.empty()) { int x, cost; tie (cost, x)=pq.top (); pq.pop (); if (dist[x] < cost) continue; for(auto ele : map[x]) {.. 2020. 10. 22.
[알고리즘] 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.
반응형