https://www.acmicpc.net/problem/10818
이 문제는 N개의 정수가 주어질 떄, 최솟값과 최댓값을 구하는 문제이다.
우선 기본 입출력 라이브러리를 불러온다.
#include <stdio.h>
그 다음 정수 배열과 N, min, max를 생성한다.
int arr[1000000];
int n, min = 1000000, max = -1000000;
그 다음 scanf로 n을 입력 받고
scanf("%d", &n);
for 문으로 배열을 입력받는다.
for (int i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
그 다음 for문으로 배열 내 min과 max를 구한다.
for (int i = 0; i < n; i++){
min = (min < arr[i])? min : arr[i];
max = (max > arr[i])? max : arr[i];
}
최종 코드(참고 - for문을 두 번 쓰는 것은 최소한 이 문제에서는 효율적이지 않다. 따라서 나는 하나의 for문으로만 풀었다.)
#include <stdio.h>
int main(){
int arr[1000000];
int n, min = 1000001, max = -1000001;
scanf("%d", &n);
for (int i = 0; i < n; i++){
scanf("%d", &arr[i]);
min = (min < arr[i])? min : arr[i];
max = (max > arr[i])? max : arr[i];
}
printf("%d %d", min, max);
}
'백준 C, C++ 문제' 카테고리의 다른 글
| 10871번, X보다 작은 수 (0) | 2025.04.08 |
|---|---|
| 10807번, 개수 세기 (0) | 2025.04.08 |
| 1008번, A/B (0) | 2025.04.02 |
| 10998번, AxB (0) | 2025.04.02 |
| 1001번, A-B (0) | 2025.04.02 |