학교/Java
배열을 입력받아 두 배열을 병합해 정렬하고 중복없이 출력하는 프로그램 (MergeSort)
우당탕가윤
2023. 2. 27. 19:22
2022학년도 2학기 수행평가 문제입니다.
■ 문제 설명
배열 A(5)와 B(5)에 데이터를 입력받아 두 배열을 병합하여 오름차순으로 정렬한 후 중복없이 출력하는 프로그램을 작성하시오.
■ 결과 예시
■ 나의 코드
import java.util.Arrays;
import java.util.Scanner;
public class MergeSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int A[] = new int[5];
int B[] = new int[5];
int arr[] = new int[10];
System.out.print("첫번째 배열의 데이타 : ");
for(int i=0; i<5; i++) {
A[i] = scan.nextInt();
arr[i] = A[i];
}
System.out.print("두번째 배열의 데이타 : ");
for(int i=0; i<5; i++) {
B[i] = scan.nextInt();
arr[i+5] = B[i];
}
Arrays.sort(arr);
System.out.print("병합된 배열의 데이타 : ");
for(int i=0; i<arr.length; i++) {
if(i > 0 && arr[i-1] != arr[i])
System.out.print(arr[i] + " ");
else if(i == 0)
System.out.print(arr[i] + " ");
}
}
}
■ 코드 풀이
병합할 배열의 크기를 10으로 지정하고 배열 A, B를 각각 for문을 돌려 입력받은 후 병합시킬 배열에 저장했습니다. 그 다음 Arrays.sort를 사용해 정렬했고 for문과 if문을 사용해 중복을 제거했습니다.