[C언어 코드업 문제풀이] CodeUp 1277 : 몇 번째 데이터 출력하기

코드업 1277번 몇 번째 데이터 출력하기 문제 풀이 해답입니다.

 

1. 문제 설명

 

첫 줄에 데이터의 개수 N(N은 홀수)이 입력되고, 그 다음 줄에 N개의 데이터가 입력된다.

여기서 첫번째 데이터, 중간 데이터, 마지막 데이터를 출력하시오.

예) 

5

2 4 6 1 7

이면

2 6 7

이 출력된다.

(첫번째 데이터 2,

중간 데이터 6,

마지막 데이터 7)

 

2. 입력

 

입력으로 N이 주어지고 그 다음줄에 N개의 데이터가 공백으로 구분되어 입력된다.(단, N>=1인 홀수)

 

3. 출력

 

첫번째, 중간, 마지막 데이터 값을 출력한다.

 

4. 입력 예시

 

7

2 4 7 3 1 2 5

 

5. 출력 예시

 

2 3 5

 

6. 문제 풀이

 

#include<stdio.h>
 
int main(){
    
    int n;
    scanf("%d",&n);
    int input_num, first,mid,last;
    for(int i = 1; i<= n; i++){
        scanf("%d",&input_num);
        if(i == 1){first = input_num;}
        if(i == (n+1)/2){mid = input_num;}
        if(i == n){last = input_num;}
    }
 
    printf("%d %d %d",first, mid, last);
    return 0;
}
 

 

우리는 입력받을 개수를 통해 마지막 번째가 몇 번째 인지 알 수 있습니다. ( 마지막 번호: n)

for문을 통해 입력을 받으면서, 첫 번째 일때(i == 1) , 마지막일 때(i == n)를 입력받습니다.

중간을 구하는 법은 입력받을 개수가 홀수 라면 (n+1)/2 를 하게 된다면 중간의 번호를 알 수 있습니다.

댓글()