본문 바로가기

Algorithm350

[BOJ]1377번: 버블 소트 (c++) https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 정렬, O(N) #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // 입력 int N; cin >> N; vector v(N); for (int i = 0; i < N; ++i) { // 입력된 순서 저장 v[i].s.. 2020. 7. 7.
[BOJ]11652번: 카드 (c++) https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // 입력 int N; cin >> N; vector v(N); for (int i = 0; i > v[i]; } // 오름차순 정렬 sort(v.begin.. 2020. 7. 7.
[BOJ]2751번: 수 정렬하기 2 (c++) https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 퀵 정렬 #include #include #include using namespace std; void quick_sort(vector &v, int left, int right) { int pl = left; int pr = right; int x = v[(pl + pr) / 2];// 피벗값 : L인덱스와 R인덱스의 중앙에 있는 값 /* 피벗값을 중심으로 L인덱스의 값과 R인덱스의.. 2020. 7. 6.
[BOJ]10989번: 수 정렬하기 3 (c++) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // 입력 int N; cin >> N; vector v(10000 + 1); for (int i = 0; i > num; ++v[num]; } // [1, 100.. 2020. 7. 6.