본문 바로가기

sorting

(9)
[BOJ] 20126번 교수님의 기말고사 (C++) https://www.acmicpc.net/problem/20126 20126번: 교수님의 기말고사 교수님이 시험을 시작할 수 있는 시각을 출력하여라. 시작 가능한 시각이 여러 개 있으면 그중 가장 앞선 시각을 출력한다. 시험을 치룰 수 없다면 -1을 출력하여라. www.acmicpc.net #include #include #include using namespace std; int main() { int n, m, s, x, y; vector v; cin >> n >> m >> s; for(int i = 0; i > x >> y; v.push_back({x, y}); } sort(v.begin(), v.end()); // 1. 앞쪽에 시간이 비는 경우 if(v[0].firs..
[BOJ] 1931번 회의실 배정 (C++) https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net #include #include #include using namespace std; bool compare(pair& a, pair& b){ if(a.second == b.second) return a.first > n; vector v; for(int i = 0; i > a >> b; v.push_back({a, b}); } sort..
[BOJ] 6068번 시간 관리하기 (C++) https://www.acmicpc.net/problem/6068 6068번: 시간 관리하기 성실한 농부 존은 시간을 효율적으로 관리해야 한다는 걸 깨달았다. 그는 N개의 해야할 일에 (1 b.second; } int main() { int n, t, s, time; vector v; cin >> n; for(int i = 0; i > t >> s; v.push_back({t, s}); } sort(v.begin(), v.end(), compare); time = v[0].second - v[0].first; for(int i = 1; i < n; i++){ if(time < v[i].second) time -= v[i].first; else { time = v[i].seco..
[BOJ] 1263번 시간 관리 (C++) https://www.acmicpc.net/problem/1263 1263번: 시간 관리 진영이는 캠프 조교를 온 후 효율적으로 시간 관리를 해야 한다는 것을 깨달았다. 진영이는 하루에 해야 할 일이 총 N개가 있고 이 일들을 편하게 1번부터 N번까지 차례대로 번호를 붙였다. 진영 www.acmicpc.net #include #include #include using namespace std; bool compare(pair& a, pair& b) { return a.second > b.second; } int main() { int n, t, s, tmp = 0, left = 0; cin >> n; vector v(n); for (int i = 0; i > t >> s; ..
[BOJ] 18870번 좌표 압축 (C++) https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector v(n); for (int i = 0; i > v[i]; } vector tmp(v); ..
[BOJ] 1764번 듣보잡 (C++) https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; vector v; vector t; string s, k; for(int i = 0; i > s; v.push_back(..
[BOJ] 2075번 N번째 큰 수 (C++) https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); priority_queue pq; int n, k; cin >> n; for(int i = 0; i > k; pq.push(-k); if(pq.size() ..
[BOJ] 2108번 통계학 (C++) https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, num, sum = 0; cin >> n; int number[8001] = {0, }; vector v; for(int i = 0; i > num; v.push_bac..