본문 바로가기
C C++/C C++ 유용한 알고리즘 기법

[C/C++] 최솟값 최댓값 찾기

by Go! Jake 2022. 7. 9.

C/C++에서 최솟값과 최댓값 찾는 법을 간단히 소개하도록 하겠습니다.

 

최솟값 최댓값 찾기

- int min, int max 등의 최솟값과 최댓값을 담는 변수를 선언합니다.

- min값보다 작을 때 작은 값으로 업데이트합니다.

- max값보다 클 때 큰 값으로 업데이트합니다.

 

입력된 숫자에서 최솟값과 최댓값의 차이를 구하는 소스 코드를 보겠습니다.

#include <iostream>

int main() 
{
	int t,num,max=-1,min=101;
	std::cin>>t;
	for (int i = 0; i<t; i++)
	{
		std::cin>>num;
		if (num>max)
			max=num;
		if (num<min)
			min=num;
	}
	std::cout<<max-min;
	return 0;
}

- t를 입력, 숫자는 for문에서 t 개수만큼 입력됨

- 입력된 숫자를 if문 2개를 통해 max와 min과 비교함.

- min값보다 작을 때 작은 값으로 업데이트함.

- max값보다 클 때 큰 값으로 업데이트함.

 

한 가지 주의할 점은 if, else if문을 사용하지 않아야 된다는 점이다. 과거 if, else if문 사용으로 문제가 되었다.if, else if문을 사용하게 되면 조건에 먼저 맞는 1가지만 비교하기 때문에 min, max 둘 다 비교할 수 없다.min 또는 max 하나만 비교하게 될 수 있는 것이다.

 

min과 max 둘 다 비교될 수 있도록 if문만 사용하면 된다.

댓글