본문 바로가기
Programming Language/C C++

[알고리즘 문제풀이] 4. 나이 차이★

by 9루트 2022. 1. 3.

내가 푼 풀이

#include <iostream>
using namespace std;

int main(){
	int n, i, max, min = 0;
	cin >> n;
	char a[n];
	for( i = 0; i < n; i++){
		cin >> a[i];
	}
	
	max = a[0];
	
	// 최댓값, 최솟값을 구한다. 
	for( i = 0; i < n; i++){
		if(a[i] > max) max = a[i];
		else max = max;
		
		if(a[i] < min) min = a[i];
		else min = min;
	}
	
	cout << "max: " << max << endl;
	cout << "min: " << min << endl;	
	cout << max - min;

	return 0;
}

 

나온 결과

아무래도 배열로 입력될 때 1 0 ... 56 53 31 ... 이런 식이었을까.

 

옳은 풀이

#include <iostream>
using namespace std;

int main(){
	
	freopen("input.txt", "rt", stdin);
	int n, i, a, max = -2147000000, min = 2147000000;
	cin >> n;

	for( i = 0; i < n; i++){
		cin >> a;
		if(a > max) max = a;
		if(a < min) min = a;
	}
	
	cout << max - min;

	return 0;
}

 

* 입력할 숫자가 1000개 이상으로 많을 때

input.txt 를 코드 파일 안에 새로 만들고 복붙

freopen("input.txt", "rt", stdin); 추가

채점할 때 주석 체크 잊지 않기

 

* 최대 최소 선언은 아래 값으로 할 것

max = -2147000000, min = 2147000000