본문 바로가기
algorithm/baekjoon

[C++] 10818_최대,최소

by eunsoa 2022. 10. 4.

문제

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

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

www.acmicpc.net

N개의 정수가 주어지고 최댓값과 최솟값을 구하는 프로그램이다.

 

배열을 사용하는 방법과 배열을 사용하지 않는 방법, 2가지로 방법으로 문제를 풀어보았다.

 

 

풀이과정 1

#include <iostream>
#include <algorithm>
using namespace std;
//backjoon 10818 MAX, MIN -ver1 - sort함수, 배열 사용  
int main(int argc, const char * argv[]){
	ios_base::sync_with_stdio(0);
	
	int n=0;
	cin >> n;
	int array[1000001];
	for(int i=0;i<n;i++){
		cin >> array[i];
	}
	sort(array,array+n);
	cout<<array[0]<<" " << array[n-1];
	return 0;
}

이 방식은 다른 풀이를 참고하였다.

 

 

풀이과정 2

#include <iostream>
using namespace std;
//backjoon 10818 MAX, MIN

int main(void){
	int n=0;
	int min = 1000000;
	int max = -1000000;
	cin >> n;
	while(n--){
		int t=0;
		cin >> t;
		min = min>t ? t : min;
		max = max<t ? t : max;
	}
	cout << min << " " << max;
	return 0;
}

min 값과 max 값을 각각 0으로 하고 시작했더니 문제가 계속 틀려서 입력값의 최댓값을 min으로 입력값의 최솟값을 max값으로 넣어주었더니 문제가 맞았다.

 

 

 

 

'algorithm > baekjoon' 카테고리의 다른 글

[C++] 2693번::N번째 큰수  (1) 2022.10.07
[C++] 2609번 최대공약수 최소공배수  (2) 2022.10.07
[C++] 2309_일곱난쟁이  (4) 2022.10.06
[C++] 10870_피보나치 수5  (0) 2022.10.05
[C++] 2460_지능형 기차 2  (0) 2022.10.05