목록백준 알고리즘 (6)
이우의 개발일지

백준 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

백준 1806번 부분합 1806번 부분합 풀이 이 문제 역시 투 포인터 알고리즘으로 풀어야 시간 초과가 뜨지 않는다.밑에 투 포인터 알고리즘과 그 문제에 대해 적어놓은 것이니 참고하길 바란다. [백준/C++] 2559번 수열 /투 포인터 알고리즘/ two_pointer - (1)백준 2559번 수열 2559번 수열 코딩테스트 풀이이 문제는 투 포인터 알고리즘을 통해 구현할 수 있다. 투 포인터란?배열에서 이중 for문으로 O(n^2)으로 시간 복잡도를 가지는 작업을 2개 포인터everything.pipelineleewoo.com 이 문제는 S라는 부분합의 기준 값을 줌으로써 부분합이 S를 넘겨야되며, 이 중 길이가 가장 짧은 것을 출력해야한다. 부분합 투 포인터 정답 코드 int len = 1000..