개발자/문제풀이 (C언어)
[백준/BOJ] 10818번 최소, 최대 (C/C++)
devBB
2021. 8. 19. 15:45
728x90
반응형
백준 온라인 저지(BOJ) 10818번 최소, 최대
https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
* 사용언어 : C언어, C++
1. 문제
N개의 정수 중 최솟값, 최대값 출력 (최대 1,000,000개)
2. 풀이
입력받은 값을 하나하나 비교하여 처리하면 됩니다.
'1차원 배열' 단계에 속하는 문제라서 배열을 생성하여 풀어보려 했으나,
메모리 공간을 불필요하게 사용하는 것 같아 입력받은 값을 바로 비교하는 방식으로 풀었습니다.
1차원 배열에 먼저 모든 값을 입력받은 후에
전체 탐색을 하거나 정렬(버블, 삽입, 퀵 등)을 한 뒤 출력해도 됩니다.
3. 코드
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int min = 1000000;
int max = -1000000;
int input;
for (int i = 0; i < n; ++i) {
scanf("%d", &input);
if (input < min) min = input;
if (input > max) max = input;
}
printf("%d %d\n", min, max);
return 0;
}
* 원활한 비교를 위해 min, max 초기값을 잘 설정해야 합니다.
728x90
반응형