출처 : https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 <= N <= 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
#include <iostream>
#define INF 1000000
#define R_INF -1000000
using namespace std;
int main(void){
int N, x, Min = INF, Max = R_INF;
//cin >> N;
scanf("%d", &N);
while (N--) {
//cin >> x;
scanf("%d", &x);
Min = min(x, Min);
Max = max(x, Max);
}
//cout << Min << " " << Max << '\n';
printf("%d %d\n", Min, Max);
}
상수값 INF와 R_INF값을 정의하여 최댓값과 최솟값의 시작값으로 지정했습니다.
반복문에서 x값을 입력받아 현재 Min값과 Max값을 비교하여 변수 값을 수정하였습니다.
결과

'Algorithm' 카테고리의 다른 글
| (C++)백준 알고리즘 2577 - 숫자의 개수 (0) | 2021.07.07 |
|---|---|
| (C++)백준 알고리즘 2562 - 최댓값 (0) | 2021.07.07 |
| (C++)백준 알고리즘 1110 - 더하기 사이클 (0) | 2021.07.07 |
| (C++)백준 알고리즘 10951 - A+B - 4 (0) | 2021.07.07 |
| (C++)백준 알고리즘 10952 - A+B - 5 (0) | 2021.07.07 |