내가 푼 풀이
#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
'Programming Language > C C++' 카테고리의 다른 글
[알고리즘 문제풀이] 6. 숫자만 추출★ (0) | 2022.01.04 |
---|---|
[알고리즘 문제풀이] 5. 나이 계산★ (0) | 2022.01.03 |
[알고리즘 문제풀이] 3. 진약수의 합★ (0) | 2022.01.03 |
[알고리즘 문제풀이] 2. 자연수의 합 (0) | 2022.01.03 |
[알고리즘 문제풀이] 1. 1부터 N까지의 M의 배수합 (0) | 2022.01.03 |