백준/Class1
[백준] Class1-최소, 최대 C++ 10818번
taene_
2023. 8. 24. 14:53
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
예제 입력 1 복사
5
20 10 35 30 7
예제 출력 1 복사
7 35
소스코드:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n;
cin >> n;
int min = 1000000;
int max = -1000000;
int k;
for (int i = 0; i < n; i++)
{
cin >> k;
if (k >= max)
{
max = k;
}
if (k <= min)
{
min = k;
}
}
cout << min << " " << max;
}
접근방법: 문제의 정수의 범위 중 최솟값을 max(최댓값)로, 최댓값을 min(최솟값)으로 정하고, 입력받은 정수 k가 max보다 크면 최댓값으로, min보다 작으면 최솟값으로 정해주는 for문을 돌린다.