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
'백준 알고리즘 단계별 풀이 (문제 수) > 1차원 배열 (7)' 카테고리의 다른 글
[C++] OX퀴즈 : 8958번 (0) | 2022.06.20 |
---|---|
[C++] 특정 공식으로 새로운 평균 구하기 : 1546번 (0) | 2022.06.18 |
[C++] 나머지 배열에서 서로 다른 값 찾기 : 3052번 (0) | 2022.06.18 |
[C++] 각 자릿수의 숫자 갯수 세기 : 2577번 (0) | 2022.06.18 |
[C++] 배열에서 최댓값 찾고 인덱스 구하기 : 2562번 (0) | 2022.06.18 |