본문 바로가기
알고리즘/백준

알고리즘(C++) / 백준 10818 : 최소, 최대

by clean_h 2021. 2. 18.
728x90

10818

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개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

 

코드

//10818 최소,최대
#include <iostream>
using namespace std;
int arr[1000000];

int main() {
	
	int N;
	cin >> N;

	int min = 1000000;
	int max = -1000000;
	for (int i = 0; i < N; i++) {
		cin >> arr[i];
		if (min > arr[i])
			min = arr[i];
		if (max < arr[i])
			max = arr[i];
	}

	cout << min << " " << max << endl;

	return 0;
}

 

결과

 

설명

모든 정수는 -1000000보다 크거나 같고, 1000000보다 작거나 같다고 하였으므로 min을 제일 큰 수인 1000000으로 max를 제일 작은 수인 -1000000으로 초기화해주었다.

입력받은 값이 min보다 작다면 min 값을 바꿔주고 max값 보다 크다면 max 값을 바꿔주게 된다.

입력받은 모든 수를 확인하여 min값과 max값을 출력할 수 있다.

 

728x90

댓글