반응형 Algorithms119 [알고리즘] Valid Anagram 포인트 1. Anagram 인지를 확인을 하는 알고리즘 2. 본인은 이 문제를 풀때 정렬을 하고 순회를 하여 요소가 다르면 다르 Anagram 인지를 판단하는 메소드를 작성을 하였습니다. 하지만, 이는 불필요할 수 있기 때문에 해시 적인 요소를 사용한 코드가 있어서 그것을 토대로 수정을 하였습니다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++ class Solution { public: bool isAnagram(string s, string t) { sort(s.begin(), s.end()); sort(t.begin(), t.end()); if(s.size()!=t.size()) return false; for(int i=0; i bool: counter =[0 for _ in r.. 2021. 1. 21. [알고리즘] DFS (깊이 우선 탐색), BFS(너비 우선 탐색) 포인트 깊이 우선 탐색은 재귀를 주로 사용합니다. 저는 용어를 나누어서 사용해서 헷갈리는 부분이 많았던 것 같습니다. 깊이 우선 탐색과 너비 우선 탐색은 그렇게 다르지 않다. 사실 계속해서 알고리즘 공부를 하면서 생각이 나는 것은 사실 엄청 모르고 있는 것들이 깨어나간다라는 생각이 많이 든다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include using namespace std; vector map; vector visited; int n, m; int u, v; void dfs(int x) { //기본적으로 재귀를 사용한다고 하면 생각하기 쉽다. visited[x] = true; //bfs 처럼 방문 배열 표시를 하고 cout n >> m; map.resize(n.. 2020. 12. 3. [알고리즘] 이진 변환 반복하기 포인트 1. 구현 문제와 진법 변환을 같이 한거라고 할 수 있다. 진법 변환은 생각보다 많이 쓸 수 있다. 2. string 을 사용하는 이유는 int ~ long long 범위를 만족하기 위해서 입니다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; string n_to_2(int one){ string bin; while(one>0){ bin = to_string(one%2)+bin; one/=2; } return bin; } vector solution(string s) { vector answer; int i=0; int zero = 0; while(true){ i+=1; zero+=count(s.begin(), s.e.. 2020. 11. 6. [알고리즘] 다리를 지나는 트럭 포인트 다리를 지나는 트럭 구조체를 만들어서 다리라는 큐를 만들고 큐를 돌면서 진행을 하면 된다. 구조체를 잘 만들면 의미 분석하기 편하다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include #include using namespace std; struct Car { //차로 구조체를 만들기 int weight, length; }; int solution (int bridge_length, int weight, vector truck_weights) { int answer=0; queue bridge; //weight , length int currentWeight=0; while(1) { int size=bridge.size (); for(int i=0;i 2020. 11. 4. 이전 1 ··· 22 23 24 25 26 27 28 ··· 30 다음 반응형