백준 단계별로 풀기/1차원 배열

[백준/C] 10818 최소, 최대

상일동 2021. 11. 4. 14:19

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

1. 문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

 

2. 입력

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

 

3. 출력

4. 풀이

정수가 주어지는 만큼의 입력받는 값을 만들고

정수는 -1,000,000 ~ 1,000,000 사이의 값을 입력받으니

최댓값은 -1,000,001 최솟값은 1,000,001을 입력해줘서

입력받은 숫자가 최댓값보다 크면 최댓값을,

입력받은 숫자가 최솟값보다 작으면 최솟값을 주면 됩니다.

 

5. 코드

#include <stdio.h>
int main() {
    int n, a, max=-1000001, min=1000001;
    scanf("%d", &n);
    for (int i=0; i < n; i++) {
        scanf("%d", &a);
        if (max < a) max = a;
        if (min > a) min = a;
    }
    printf("%d %d", min, max);
}