ෆ ⋆ ₊ ゚ ☽ * ₊ ⋆

학교/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문을 사용해 중복을 제거했습니다.