처음에 풀이한 코드 (아마도 배열 메모리 & 시간 초과..)
int max = arr[0];
int min = arr[0];
for (int i = 0; i < n; i++) {
if (max < arr[i]) {
max = arr[i];
}
if (min > arr[i]) {
min = arr[i];
max = arr[i];
}
}
배열을 선언하지 않고 하는 코드들을 그래서 따로 살펴보았는데, Math 함수들을 이용해서 min,max값을 제설정해주고 있다. 현재 값에서 뺀 값이 제일 큰 값으로 재 설정을 해주고 있기 때문에 따로 필요가 없다
while (n -- > 0) {
int current = Integer.parseInt(st.nextToken());
answer = Math.max(answer, current - min);
min = Math.min(min, current);
}