• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

배열 합치기 질문입니다

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:

익셉션이뜨는데

어느부분이 잘못됐는지 잘 몰라서 질문드립니다..

답변 1

답변을 작성해보세요.

0

안녕하세요^^

while(p1<num && p2<num2) {

if(arr[p1]<arr[p2]) {

answer.add(arr[p1++]);

}else {

answer.add(arr2[p2++]);

}

}

에 오타에러가 있습니다.