728x90
반응형

문제 : https://codeup.kr/problem.php?id=1496

 

[기초-배열연습] 두 개씩 묶어 작은 값 골라 배열 만들기 5-5

n개의 데이터를 배열에 입력 받은 후, 두 개씩 묶어 비교한 후, 작은 값만 들어간 배열을 만들고 출력해보자. 6개의 데이터가 다음과 같이 입력되었을 때, 1 2 3 4 5 6 아래와 같이 출력하면 된다. 1 3

codeup.kr

문제 설명

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

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

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

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

1 3 5

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

 

 

[그림1] 입 출력 형식 및 예제

 

# include <stdio.h>

int main()
{
	int arr[1000] = {0,};
	int i,j,n;
	
	scanf("%d",&n);
	
	for(i = 0; i<n; i++)
	{
		scanf("%d ",&arr[i]);
	}
	
	for(i = 0 ; i<n; i+=2)
	{
		if(arr[i] > arr[i+1])
		{
			printf("%d ",arr[i+1]);
		}
		else
		{
			printf("%d ",arr[i]);
		}
	}
	
	return 0;
}

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기