문제
https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
N개의 정수가 주어지고 최댓값과 최솟값을 구하는 프로그램이다.
배열을 사용하는 방법과 배열을 사용하지 않는 방법, 2가지로 방법으로 문제를 풀어보았다.
풀이과정 1
#include <iostream>
#include <algorithm>
using namespace std;
//backjoon 10818 MAX, MIN -ver1 - sort함수, 배열 사용
int main(int argc, const char * argv[]){
ios_base::sync_with_stdio(0);
int n=0;
cin >> n;
int array[1000001];
for(int i=0;i<n;i++){
cin >> array[i];
}
sort(array,array+n);
cout<<array[0]<<" " << array[n-1];
return 0;
}

이 방식은 다른 풀이를 참고하였다.
풀이과정 2
#include <iostream>
using namespace std;
//backjoon 10818 MAX, MIN
int main(void){
int n=0;
int min = 1000000;
int max = -1000000;
cin >> n;
while(n--){
int t=0;
cin >> t;
min = min>t ? t : min;
max = max<t ? t : max;
}
cout << min << " " << max;
return 0;
}

min 값과 max 값을 각각 0으로 하고 시작했더니 문제가 계속 틀려서 입력값의 최댓값을 min으로 입력값의 최솟값을 max값으로 넣어주었더니 문제가 맞았다.
'algorithm > baekjoon' 카테고리의 다른 글
| [C++] 2693번::N번째 큰수 (1) | 2022.10.07 |
|---|---|
| [C++] 2609번 최대공약수 최소공배수 (2) | 2022.10.07 |
| [C++] 2309_일곱난쟁이 (4) | 2022.10.06 |
| [C++] 10870_피보나치 수5 (0) | 2022.10.05 |
| [C++] 2460_지능형 기차 2 (0) | 2022.10.05 |