[C언어 코드업 문제풀이] CodeUp 1496 : [기초-배열연습] 두 개씩 묶어 작은 값 골라 배열 만들기 5-5

코드업 1496번 두 개씩 묶어 작은 값 골라 배열 만들기 5-5 문제 풀이 해답입니다.

 

1. 문제 설명

 

n개의 데이터를 배열에 입력 받은 후,

두 개씩 묶어 비교한 후, 작은 값만 들어간 배열을 만들고 출력해보자.

6개의 데이터가 다음과 같이 입력되었을 때,
1 2 3 4 5 6

아래와 같이 출력하면 된다.

1 3 5

k번째 위치에 저장되어야 하는 값은 다음과 같이 표현할 수도 있다.
m[k] = min(m[2*k], m[2*k+1]); //k >= 0

 

2. 입력

 

첫 번째 줄에 배열의 크기 n(짝수)이 입력된다.
두 번째 줄에 n개의 값(k)이 공백을 두고 입력된다.
[입력값의 정의역]
1<= n(짝수) <= 100
-1000 <= k <= 1000

 

3. 출력

 

두 개씩 묶어 비교한 후 작은 값만 골라 저장한 배열을 출력한다.

 

4. 입력 예시

 

6

1 3 5 6 4 2 

 

5. 출력 예시

 

1 5 2

 

6. 문제 풀이

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdio.h"
 
 
int main(void)
{
    int Arr[1001= {};
    int n;
    scanf("%d",&n);
    
    for(int i = 0; i < n; i++){
        scanf("%d",&Arr[i]);
    }
    for(int i = 0; i < n-1; i+=2){
        if(Arr[i] > Arr[i+1]){printf("%d ",Arr[i+1]);}
        else{printf("%d ",Arr[i]); }
    }
    
    
    return 0;
}
 
 

댓글()