입력)

1이상 100이하인 100개의 height이 주어진다.

덤프 횟수는 1이상 1000이하로 주어진다.

총 10개의 테스트 케이스가 주어지며,

[ 덤프 횟수 + 100개의 높이 ] 형식으로 들어온다.


출력)

#부호 최고점 - 처저점의 높이 차


입, 출력 분석)

width가 100이므로 배열의 크기도 100이다.


예시 분석)

(생략)

 

핵심)

최고점과 최저점을 빠르게 찾기 위해

height가 저장된 배열과 max값, min값의 index의 개념을 잘 알면 된다.

 

실수) 

printf인데 scanf 로 적어서 출력이 안 되는 황당한 실수를 했다.


구현)

#include<stdio.h>
using namespace std;

int main(int argc, char** argv) {
	int test_case;

	for (test_case = 1; test_case <= 10; ++test_case) {
		int heights[100] = {0,};
		int dump_cnt = 0, diff = 0;
		int maxIdx = 0, minIdx = 0; 
		scanf("%d", &dump_cnt);
		for (int w = 0; w < 100; w++){
			scanf("%d", &heights[w]);
			if(heights[maxIdx] < heights[w]) maxIdx = w;
			if(heights[minIdx] > heights[w]) minIdx = w;
		}
		
		for (int i = 0; i < dump_cnt; i++){
			--heights[maxIdx];
			++heights[minIdx];
			for (int w = 0; w < 100; w++) {
				if (heights[maxIdx] < heights[w]) maxIdx = w;
				if (heights[minIdx] > heights[w]) minIdx = w;
			}
		}
		diff = heights[maxIdx] - heights[minIdx];
		printf("#%d %d\n", test_case, diff);
	}
	return 0;//정상종료시 반드시 0을 리턴해야합니다.
}

'Algorithm&Problem > [Problems] SWEA' 카테고리의 다른 글

[D4] 1210.Ladder1  (0) 2020.08.18
[D3] 1206. View  (0) 2020.08.08
[D2] 1204. 최빈수 구하기  (0) 2020.07.22
[D2] 1859. 백만 장자 프로젝트  (0) 2020.07.21
[D1] 2072. 홀수만 더하기  (0) 2020.07.21

+ Recent posts