이 문제 하나에 순수 7시간을 투자한게 억울해서라도... 티스토리에 업로드 해야만 했다..
다시는 이런 문제를 마주쳤을 때 오래걸리지 않길 바라면서..
일단 비교해서 풀어야하는 문제는 맞았다.
하지만 오래 걸리게 된 이유로는, 초반에 문제 접근이 잘못됐다.
배열의 개념을 완벽하게 이해하지 못했는데 배열로 풀려고 하니 꼬이기 시작했고, 점점 어렵게 됐다.
여러 개의 정수들이 주어졌을 때, 이 정수들 중에서 가장 큰 정수(최대값)와 가장 작은 정수(최소값) 를 계산하는 프로그램을 작성하시오.
< 배열 사용 x >
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
int min;
int max;
for (int i=1; i<=t; i++) {
int n;
cin >> n;
for (int j=0; j<n; j++) {
int num;
cin >> num;
if (j==0){
max=num;
min=num;
}
if (max <= num) {
max = num;
}
if (min >= num) {
min = num;
}
}
cout << max << " " << min <<endl;
}
return 0;
}
< 배열 사용 > 더보기 클릭 !
더보기
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
for (int i=1; i<=t; i++) {
int n;
cin >> n;
int arr[n];
for (int j=0; j<=(n-1); j++) {
cin >> arr[j];
}
int max=arr[0];
int min=arr[0];
for (int k=0; k<(n-1); k++) {
if (n==1) {
min = arr[k];
max = arr[k];
}
else if (max < arr[k+1]) {
max = arr[k+1];
}
else if (min > arr[k+1]) {
min = arr[k+1];
}
else {
continue;
}
}
cout << min << " " << max << endl;
}
return 0;
}