문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
문제풀이
#include <stdio.h>
#pragma warning(disable:4996)
int main(void)
{
int N;
int max = -1000001, min = 1000001;
int num;
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", &num);
if (num > max) // 현재 max값보다 입력 값이 크면 덮어쓰기
{
max = num;
}
if (num < min) // 현재 min값보다 입력 값이 작으면 덮어쓰기
{
min = num;
}
}
printf("%d %d", min, max);
return 0;
}
- 이 문제는 단순히 전체 값에서 최댓값 최솟값만 구하는 것이고 따로 몇 번째 값이 최대 최소인지 구할 필요는 없는 문제이다.
- 따라서 단순히 array를 설정하고 index를 구할 필요는 없다.
- 그러므로 입력되는 값인 num 값이 max 또는 min과 비교하여 이를 덮어쓰는 형태로 구성한다.
'C C++ > C C++ 백준' 카테고리의 다른 글
C언어 백준 2577번 숫자의 개수 (0) | 2022.01.22 |
---|---|
C언어 백준 2562번 최댓값 (0) | 2022.01.22 |
C언어 백준 1110번 두 수 비교하기 (0) | 2022.01.20 |
C언어 백준 10951번 A+B - 4 (0) | 2022.01.19 |
C언어 백준 10952번 A+B - 5 (0) | 2022.01.19 |
댓글