백준/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문을 돌린다.