Baekjoon/단계별로 풀어보기

[BOJ/백준] 10818번 최소, 최대 C++ 문제 풀이

728x90

단계별로 풀어보기 - 1차원 배열 - [1단계] 10818번

문제

문제 링크 : www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

입력 복사 : 

5 20 10 35 30 7

풀이

algorithm 헤더파일 내부에 있는 sort함수를 이용하여 배열 내의 원소들을 오름차순으로 정렬했습니다.

입력 받은 값들을 각각 비교하여 최소, 최대 값을 도출할 수 있지만, 배열을 정렬하여 첫번째, 마지막 원소를 보여주는 방법을 택했습니다.

sort(첫번째 원소의 주소, 마지막 원소의 주소)와 같이 사용할 수 있습니다.

CODE

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int n;
	cin >> n;
	int arr[1000000] = {};
	for (int i = 0; i < n; i++)
		cin >> arr[i];
	sort(arr, arr + n);
	cout << arr[0] << " " << arr[n - 1] << '\n';
}

 

결과

728x90