-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
배열 합치기 질문입니다
22.10.25 16:50 작성 조회수 300
0
package infrun;
import java.util.ArrayList;
import java.util.Scanner;
//배열합치기 , 오름차순 정렬
public class IN_3_1 {
public ArrayList<Integer> soultion(int num, int num2, int[] arr,int []arr2) {
int p1=0, p2=0;
//for(int i=0; i<num; i++) {
ArrayList<Integer> answer= new ArrayList<Integer>();
while(p1<num && p2<num2) {
if(arr[p1]<arr[p2]) {
answer.add(arr[p1++]);
}else {
answer.add(arr2[p2++]);
}
}
while(p1<num) {
answer.add(arr[p1++]);
}
while(p2<num2) {
answer.add(arr2[p2++]);
}
return answer;
}
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int num=sc.nextInt();
IN_3_1 i3= new IN_3_1();
int []arr= new int[num];
for(int i=0; i<num; i++) {
arr[i]=sc.nextInt();
}
int num2=sc.nextInt();
int []arr2= new int[num2];
for(int i=0; i<num2; i++) {
arr2[i]=sc.nextInt();
}
for(int x:i3.soultion(num, num2, arr, arr2)) {
System.out.print(x+ " ");
}
}
}
처음 배열 갯수 입력받는 부분에서
java.lang.ArrayIndexOutOfBoundsException:
익셉션이뜨는데
어느부분이 잘못됐는지 잘 몰라서 질문드립니다..
답변을 작성해보세요.
0
김태원
지식공유자2022.11.02
안녕하세요^^
while(p1<num && p2<num2) {
if(arr[p1]<arr[p2]) {
answer.add(arr[p1++]);
}else {
answer.add(arr2[p2++]);
}
}
에 오타에러가 있습니다.
답변 1