되는대로 살자

[C언어 기출문제&풀이]box of brick 본문

2009~2014/C/C++

[C언어 기출문제&풀이]box of brick

malu 2010. 11. 2. 21:54
프로그램 명: box_brick
제한시간: 1 초

밥은 벽돌 쌓기놀이를 좋아한다.

"봐!! 내가 벽을 만들었어" 그는 누이 앨리스에게 이야기 했어. 그러자 누이는 "벽돌의 높이가 같아야지 제대로 된 벽이지"라고 되받았어.

밥이 곰곰 생각해보니 그녀의 말이 맞는 것 같아 높이를 같게 하기위해 벽돌을 하나하나 옮기기 시작했어.

밥은 게을러서 최소한의 벽돌을 옮겨서 같은 높이를 맞추기를 원해. 밥을 도와 줄수 있겠니?

입력

첫수는 벽돌 무더기의 수 n ( 1 <= n <= 50 ) 이고 , 다음 n 수는 각 무더기의 벽돌의 수(벽돌의 높이) hi 이다. 각 hi 는 1 에서 100 사이이다.

높이를 같이 맞출수 없는 데이터는 입력으로 주어지지 않는다.

출력

출력은 아래와 같은 형식으로 출력한다.

The minimum number of moves is k.

입출력 예

입력

6
5 2 4 1 7 5

출력

The minimum number of moves is 5.

풀이 : 각 값을 받아 평균 값을 수한 다음 그 값에 맞게되게끔 계산 한다.

소스코드
01 #include <stdio.h>
02   
03 int main()
04 {
05     int sum=0,n,count=0,i,average,ar[50],temp=0;
06     scanf("%d",&n);
07     for(i=0;i<n;i++)
08     {
09         scanf("%d",&ar[i]);
10         count++;
11     }
12     for(i=0;i<count;i++)
13         sum+=ar[i];
14     average=sum/count;
15     for(i=0;i<count;i++)
16     {
17         if(ar[i]>average)
18             temp+=ar[i]-average;
19     }
20     printf("The minimum number of moves is %d.",temp);
21 }