목록분류 전체보기 (59)
이우의 개발일지
백준 2252번 백준 2252번은 위상정렬을 이용해 문제를 풀 수 있습니다. 위상정렬이란?방향 그래프에서 간선으로 주어진 정점 간 선후관계를 위배하지 않도록 나열하는 정렬입니다. 이런식으로 처음으로 시작하는 정점을 먼저 큐에 놓어준 뒤, 그 정점을 pop 할 때 그 정점과 간선으로 연결된 정점의 indegree값을 빼주는 식으로 코드를 전개하면 됩니다. 백준 2252번 줄세우기 전체 코드#include #include #include using namespace std;int N[32001];vector result;vector check[32001];int main() { int n, m; cin >> n >> m; vector vec; queue que; for (int i = 0; i >..
백준 16953번 #include#includeusing namespace std;int main() { long long a, b; cin >> a >> b; queue> Q; int minn = 1000000; Q.push({ a,0 }); while (!Q.empty()) { long long n1 = Q.front().first; int n2 = Q.front().second; if (n1 == b) { minn = min(minn, n2 + 1); Q.pop(); continue; } if (n1 * 2
백준 7785번 회사에 있는 사람 이 문제는 unorderd_map을 통해 어느정도 쉽게 구현이 가능한 문제입니다. 들어가기에 앞서, 먼저 unorderde_map을 어떻게 활용하냐? void unordered_map_example(){ unordered_map m; m["hi"] = 123; m["bkd"] = 1000; m["gogo"] = 165; // ("hi", 123), ("bkd", 1000), ("gogo", 165) cout 위 코드를 보면 map에 key와 value 를 대칭해서 넣을 수 있다는 것을 확인할 수 있다. 그 안에서 find 함수와 erase 함수를 자유롭게 쓸 수 있다는 장점이 있지만, 단점으로는 해당하는 Map값이 순서대로 저장되지는 않는다는점이다. 이러한 ..