[백준] 10814번 나이순 정렬
·
백준 문제
문제: 10814번: 나이순 정렬  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;// 나이가 같으면 가입한 순으로 출력하도록 하기 위해서 a.first == b.first 가 false 가 되도록..bool compare(pair, string> a, pair, string> b) { if (a.first.first == b.first.first) return a.first.second > n; vector, string>> persons; for (int i = 0; i > age; ..
[백준] 1786번 찾기
·
백준 문제/KMP
문제: 1786번: 찾기  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); string T; getline(cin, T); string p; getline(cin, p); // 문제에서 특정 조건이 없다면 KMP 문제를 풀 때, 연속적으로 겹쳐지는 패턴도 각각 카운팅 해야한다고 함.. // 첫째 줄에, T 중간에 P 가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 ..
[백준] 10845번 큐
·
백준 문제/자료구조
문제: 10845번: 큐  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; queue q; while (n-- > 0) { string order; cin >> order; int num; if (order == "push") { cin >> num; q.push(num); } else if (order == "fron..
[백준] 11650번 좌표 정렬하기
·
백준 문제
문제: 11650번: 좌표 정렬하기  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;bool compare(pair a, pair b) { if (a.first == b.first) return a.second > n; vector> input; for (int i = 0; i > x >> y; input.push_back(make_pair(x, y)); } sort(input.begin(), input.end(), compare); for (int i = 0; i tmp = input..
[백준] 3665번 최종 순위
·
백준 문제/위상정렬
문제: 3665번: 최종 순위  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin >> t; while (t-- > 0) { int n; cin >> n; vector indeg(n + 1, 0); // 0번 인덱스는 안 쓸 것 vector> adjList(n + 1, vector(n+1, false)); // 연결 여부 저장 // 여기서 ..
[백준] 1766번 문제집
·
백준 문제/위상정렬
문제: 1766번: 문제집  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m; // n: 문제의 수, m: 정보의 개수 cin >> n >> m; vector> linkedList(n + 1); // 문제 번호는 1부터 시작하니까 인덱스 계산 편하돌록.. vector indegs(n + 1); // 진입차수 저장 // 우선 순서 입력받기 for (in..
[백준] 1005번 ACM Craft
·
백준 문제/위상정렬
문제: 1005번: ACM Craft  처음 풀이(오답)#include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin >> t; for (int i = 0; i > n >> k; // 건물 번호는 1번부터 N 번이니까 n+1 만큼 잡음(0번 인덱스는 안 쓸 것) vector> linkedList(n + 1); vector inDegree(n + 1); /..
[백준] 2252번 줄 세우기
·
백준 문제/위상정렬
문제: 2252번: 줄 세우기  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m; // n: 학생 수, m: 키를 비교한 횟수 cin >> n >> m; vector> linkedList(n + 1); // 학생 번호는 1부터 시작하니까 n+1 로 해주기.. 0번 인덱스 안 쓸 것 vector answer; // 정답 저장할 곳 stack noInDe..
[백준] 1738번 골목길
·
백준 문제/Bellman-Ford
문제: 1738번: 골목길 #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m; // n: 교차 지점 수(정점), m: 골목길의 개수(간선) cin >> n >> m; vector, int>> edges; // 간선들 저장해놓기 vector> reverseEdges(n + 1); // 역방향 간선들 저장해놓기(정점 n 에 도달할 수 있는 노드들을 찾기 위..
[백준] 11657번 타임머신
·
백준 문제/Bellman-Ford
문제: 11657번: 타임머신   #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m; // n: 도시의 개수, m: 버스 노선의 개수 cin >> n >> m; vector, int>> edges; // 버스의 노선 정보 for (int i = 0; i > a >> b >> c; edges.push_back(make_pair(make_pair(a, b..