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문을 사용해 중복을 제거했습니다.
'학교 > Java' 카테고리의 다른 글
학생 수를 입력받아 학급의 성적을 처리하는 프로그램 (Grade) (0) | 2023.02.27 |
---|---|
부채꼴 클래스를 정의해 반지름을 입력받고, 부채꼴의 둘레와 면적을 계산해 출력하는 프로그램 (SectorForm) (0) | 2023.02.27 |
2차원 배열에 성적을 저장하고 전체 평균 점수를 구하는 프로그램 (Grade) (0) | 2023.02.27 |
양의 정수를 입력받아 배열에 저장하고 제일 큰 수를 출력하는 프로그램 (Max) (0) | 2023.02.27 |
문자열을 입력받아 거꾸로 출력하는 프로그램 (Reversestr) (0) | 2023.02.27 |