{"id":18575337,"url":"https://github.com/jeong-je/baekjoon-algorithm","last_synced_at":"2025-05-16T00:14:30.411Z","repository":{"id":176875723,"uuid":"636278862","full_name":"Jeong-Je/baekjoon-algorithm","owner":"Jeong-Je","description":"백준 알고리즘 문제 푼 기록 ","archived":false,"fork":false,"pushed_at":"2025-04-24T15:39:53.000Z","size":525,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T16:50:07.387Z","etag":null,"topics":["algorithms","cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jeong-Je.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-04T13:47:31.000Z","updated_at":"2025-04-24T15:39:58.000Z","dependencies_parsed_at":"2024-03-29T06:26:10.741Z","dependency_job_id":"b983a413-4130-42a1-b0a7-467f8d0bdb93","html_url":"https://github.com/Jeong-Je/baekjoon-algorithm","commit_stats":{"total_commits":211,"total_committers":1,"mean_commits":211.0,"dds":0.0,"last_synced_commit":"ab967affef95a927ea185484ad1c1603d1b9160f"},"previous_names":["jeong-je/boj"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeong-Je%2Fbaekjoon-algorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeong-Je%2Fbaekjoon-algorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeong-Je%2Fbaekjoon-algorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeong-Je%2Fbaekjoon-algorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jeong-Je","download_url":"https://codeload.github.com/Jeong-Je/baekjoon-algorithm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254442856,"owners_count":22071878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","cpp"],"created_at":"2024-11-06T23:18:46.897Z","updated_at":"2025-05-16T00:14:25.396Z","avatar_url":"https://github.com/Jeong-Je.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 탐색\n### 깊이 우선 탐색(dfs)\n### 너비 우선 탐색(bfs)\n### 이진 탐색 (binary search)\n\n## 그래프\n### 유니온 파인드(union-find)\n특정 2개의 노드를 연결해 1개의 집합으로 묶는 `union`연산과 같은 집합에 속하는지를 확인하는 `find`연산으로 구성된 알고리즘\n1. 각 노드가 모두 대표 노드가 되도록 배열을 초기화\n   \n|1|2|3|4|5|\n|---|---|---|---|---|\n|1|2|3|4|5|\n\n```cpp\nvoid unionfunc(int a,int b){\n    a = find(a);\n    b = find(b);\n  \n    if(a!=b){\n      parent[b] = a;\n    }\n}\n```\n```cpp\nint find(int a){\n    if(a == parent[a]){\n        return a;\n    } else {\n        return parent[a] = find(parent[a]);\n    }\n}\n```\n---\n### 위상 정렬(topology sort)\n|기능|특징|O(N)|\n|---|---|---|\n|노드 간의 순서를 결정|사이클이 없어야 함|O(V+E)|\n\n\u003e 위상 정렬에서는 항상 유일한 값으로 정렬되지 않는다.\n\n![Image](https://github.com/user-attachments/assets/6a72798d-2427-46a9-b889-4c9675bf19fb)\n\n![Image](https://github.com/user-attachments/assets/5544c939-b4f2-428c-a8fb-5a42ad5603f3)\n\n**진입 차수 배열 D[N]**\n|1|2|3|4|5|\n|---|---|---|---|---|\n|0|1|1|2|2|\n\n```cpp\nfor(int i=1;i\u003c=N;i++){\n    if(D[i] == 0) {\n        queue.push(i);\n    }\n}\n\nwhile(!queue.empty()){\n    int now = queue.front();\n    queue.pop();\n    cout \u003c\u003c now \u003c\u003c \" \";\n    for(int next: A[now]) {\n        D[next]--;\n        if(D[next] == 0) {\n            queue.push(next);\n        }\n    }![Uploading ㅇ.svg…]()\n\n}\n```\n***\n### 다익스트라(dijkstra)\n### 벨만 포드(bellman-ford)\n### 플로이드 워셜(floyd-warshall)\n### 최소 신장 트리(minimum spanning tree)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeong-je%2Fbaekjoon-algorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeong-je%2Fbaekjoon-algorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeong-je%2Fbaekjoon-algorithm/lists"}