본문 바로가기

컴퓨터/백준 알고리즘

백준 알고리즘 10818번: 최소, 최대 [C++]

문제 출처: www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

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

www.acmicpc.net

 

1. 코드

(실행)

 

2. 풀이

int n, max, min, a;
cin >> n;

n은 반복의 횟수, max는 최댓값, min은 최솟값, a는 입력값이다. 그리고 먼저 반복을 해주기 전에 반복횟수를 알아야하기 때문에 n을 입력받는다.

for(int i = 0; i < n; i++)

i를 선언하여 n만큼 반복시킨다.

cin >> a;

그리고 a를 입력받는다.

if(i == 0)
    max = a, min = a;

만약 처음 입력받는거라면 max와 min에 a의 값을 초기화시킨다.

if(max < a)
    max = a;
        
if(min > a)
    min = a;

만약 a의 값이 max보다 크면 a의 값을 max에 초기화시키고 마찬가지로 min의 값보다 a의 값이 더 작다면 a의 값을 min에 초기화시킨다.

cout << min << " " << max;

반복문이 끝난 뒤에 min의 값과 max의 값을 출력해준다.