#include <iostream>
using namespace std;
int main() {
int N, a, i, max = -2147000000, min = 2147000000;
//integer 자료형에 들어갈 수 있는 가장 작은 값과 가장큰 값으로 초기화하였다. 그냥 외우자
//이렇게 하면 무조건 첫 입력값은 max min 둘 다에 할당된다.
cin >> N;
for(i = 1; i<=N; i++){
cin >> a;
if(a > max) max = a; // 첫 입력값이 max에 들어가 있으므로 그 다음값들과 비교하는 방식이다.
if(a < min) min = a;
}
cout << max - min;
return 0;
}
성찰
개수 입력 이후, 그 개수만큼 값을 입력하는 것을 보고 바로 배열을 떠올렸다.
배열에 값들을 할당하고 인덱스만큼 2중 For문 돌려서 비교한다음 가장 큰 값이 max에 올라오고 가장 작은 값이 min에 올라오는 것을 생각했다.
위 코드에 비하면 엄청나게 비효율적인 방법이다. 어찌보면 정말 간단한 문제인데도 여러 값을 입력해야하는 문제에서 무조건 배열을 떠올렸기 때문에 발생한 실수이다..