본문 바로가기
백준 알고리즘 단계별 풀이 (문제 수)/1차원 배열 (7)

[C++] 배열에서 최솟값, 최댓값 구하기 : 10818번

by 17번 일개미 2022. 6. 18.
728x90

문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.


풀이

#include <iostream>
using namespace std;

int main()
{
	int max = 0; int min = 0;
	// 갯수 입력
	int count;
	cin >> count;
	cin.ignore();
	// 정수 입력
	int* numbers = new int[count];
	for (int i = 0; i < count; i++)
	{
		cin >> numbers[i];
	}
	max = numbers[0];
	min = numbers[0];
	// 최대 최소 판별
	for (int i = 0; i < count; i++)
	{
		if (min > numbers[i])
		{
			min = numbers[i];
		}
		if (max < numbers[i])
		{
			max = numbers[i];
		}
	}
	cout << min << ' ' << max;
    delete[] numbers;
}

1. 최대 최소를 저장할 max, min 선언

2. 정수의 갯수를 count에 입력받고 저장

3. count 의 숫자만큼 numbers 배열 동적 할당

4. numbers에 count 횟수 만큼 입력

5. 비교를 위해 첫번째 원소를 max, min에 담아둠

6. 순차적으로 검색하면서 현재 저장된 max, min 보다 더 좋은 조건을 만족하면 값 갱신

7. 출력

728x90