728x90
반응형
https://www.acmicpc.net/problem/11728
두가지 방법으로 풀었는데 표준 라이브러리를 사용하는 방법과 퀵소트를 구현하는 방법으로 풀었다
표준 라이브러리 이용
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> a;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for(int i=0; i<n; i++){
int x;
cin >> x;
a.push_back(x);
}
for(int i=0; i<m; i++){
int x;
cin >> x;
a.push_back(x);
}
sort(a.begin(), a.end());
for(int i : a){
cout << i << ' ';
}
return 0;
}
퀵소트 구현
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> a;
void quickSort(vector<int>& target, int start, int end){
if(start >= end) return;
int pivot = start;
int left = start + 1;
int right = end;
while(left <= right){
while(left<=end && a[left]<=a[pivot]) left++;
while(right>start && a[right]>=a[pivot]) right--;
if(left > right) swap(a[pivot], a[right]);
else swap(a[left], a[right]);
}
quickSort(target, start, right-1);
quickSort(target, right+1, end);
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for(int i=0; i<n; i++){
int x;
cin >> x;
a.push_back(x);
}
for(int i=0; i<m; i++){
int x;
cin >> x;
a.push_back(x);
}
quickSort(a, 0, a.size()-1);
for(int i : a){
cout << i << ' ';
}
return 0;
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준/재귀/C++] 11729번 하노이 탑 이동 순서 (0) | 2023.01.05 |
---|---|
[백준/분할정복/C++] 1780번 종이의 개수 (0) | 2023.01.04 |
[이코테/계수정렬/C++] 계수정렬 (0) | 2023.01.03 |
[이코테/정렬/C++] 삽입정렬 (0) | 2023.01.03 |
[이코테/정렬/C++] 선택 정렬 (0) | 2023.01.03 |