Hyunebee
배열 합치기 본문
배열의 정렬 => n^2 ~ nlogn
투포인터 를 사용해서 n으로 문제 해결하기
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int input1 = in.nextInt();
int[] a = new int[input1];
for(int i = 0; i < input1; i++){
a[i] = in.nextInt();
};
int input2 = in.nextInt();
int[] b = new int[input2];
for(int i = 0; i < input2; i++){
b[i] = in.nextInt();
}
Main T = new Main();
for(int x : T.solution(input1,input2,a,b)){
System.out.print(x + " ");
}
}
public ArrayList<Integer> solution(int n,int m,int[] a, int[] b){
ArrayList<Integer> arrayList = new ArrayList<>();
int p1 = 0;
int p2 = 0;
//각 포인터가 배열의 길이를 넘지 안을때까지
while(p1<n && p2<m){
if(a[p1] < b[p2]){
arrayList.add(a[p1++]);
}else {
arrayList.add(b[p2++]);
}
}
//배열이 남아 있다면
while (p1 < n){
arrayList.add(a[p1++]);
}
//배열이 남아 있다면
while (p2 < m){
arrayList.add(b[p2++]);
}
return arrayList;
}
}
'Java > 코테' 카테고리의 다른 글
연속해서 가장 긴 수 (0) | 2022.05.19 |
---|---|
K가 되는 수 (0) | 2022.05.18 |
3주차 코딩테스트 4번 (0) | 2022.05.05 |
3주차 코딩테스트 3번 (0) | 2022.05.05 |
3주차 코딩테스트 2번 (0) | 2022.05.05 |