반응형
-문제
-코드
#include<stdio.h>
#include<vector>
using namespace std;
int main()
{
int n, m, p1=0, p2=0, p3=0;
scanf("%d %d", &n, &m);
vector<int> a(n);
vector<int> b(m);
vector<int> c(n+m);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (int i = 0; i < m; i++)
{
scanf("%d", &b[i]);
}
while (p1<n && p2<m)
{
if (a[p1] < b[p2])
{
c[p3++] = a[p1];
p1++;
}
else if (a[p1] > b[p2])
{
c[p3++] = b[p2];
p2++;
}
else
{
c[p3++] = a[p1];
c[p3++] = b[p2];
p1++;
p2++;
}
}
if (p1 < n)
{
for (int i = p1; i < n; i++)
{
c[p3++] = a[i];
}
}
else if (p2 < m)
{
for (int i = p2; i < m; i++)
{
c[p3++] = b[i];
}
}
for (int i = 0; i < n + m; i++)
{
printf("%d ", c[i]);
}
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[백준] 2559번 수열 (투포인터 알고리즘) (0) | 2022.07.30 |
---|---|
[백준] 3273번 두 수의 합 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 1644번 소수의 연속합 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 1806번 부분합 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 2003번 수들의 합 2 (투포인터 알고리즘) (0) | 2022.07.29 |