ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 병합정렬 알고리즘
    algorism 2020. 1. 15. 15:46

    오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램
    을 작성하세요.


    입력설명
    첫 번째 줄에 첫 번째 배열의 크기 N(1<=N<=100)이 주어집니다.
    두 번째 줄에 N개의 배열 원소가 오름차순으로 주어집니다.
    세 번째 줄에 두 번째 배열의 크기 M(1<=M<=100)이 주어집니다.
    네 번째 줄에 M개의 배열 원소가 오름차순으로 주어집니다.
    각 배열의 원소는 int형 변수의 크기를 넘지 않습니다.


    출력설명
    오름차순으로 정렬된 배열을 출력합니다.


    입력예제 1
    3
    1 3 5
    5
    2 3 6 7 9


    출력예제 1
    1 2 3 3 5 6 7 9

     

    #include<iostream>
    using namespace std;
    int main()
    {
    	int arr[101] = { 0 };
    	int arr2[101] = { 0 };
    	int result[101];
    	int count = 0;
    	int N;
    	int N2;
    	int win;
    	cin >> N;
    	for (int i = 0; i < N; i++)
    	{
    		cin >> arr[i];
    	}
    	cin >> N2;
    	for (int i = 0; i < N2; i++)
    	{
    		cin >> arr2[i];
    	}
    	if (N > N2)
    	{
    		win = N;
    	}
    	else
    	{
    		win = N2;
    	}
    		
    	for (int i = 0; i < N2; i++)
    	{
    		if (arr[i] > arr2[i])
    		{
    			result[count] = arr2[i];
    			count++;
    			result[count] = arr[i];
    			count++;
    		}
    		else if (arr[i] < arr2[i])
    		{
    			result[count] = arr[i];
    			count++;
    			result[count] = arr2[i];
    			count++;
    
    		}
    		else if (arr[i] == arr2[i])
    		{
    			result[count] = arr[i];
    			count++;
    			result[count] = arr2[i];
    			count++;
    		}
    
    	}
    	for (int i = 0; i < count; i++)
    	{
    		if (result[i] != 0)
    		{
    			cout << result[i] << " ";
    		}
    		
    	}
    
    }

    'algorism' 카테고리의 다른 글

    교집합  (0) 2020.01.18
    탄화수소 계산  (0) 2020.01.15
    3의 갯수 구하기  (0) 2020.01.14
    카드게임  (0) 2020.01.14
    가위바위보게임  (0) 2020.01.14
Designed by Tistory.