티스토리 뷰

PS 이야기/PS - BOJ

[BOJ] 10818번 - 최소, 최대

whatisyourname 2022. 4. 5. 01:05
반응형

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

 

10818번: 최소, 최대

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

www.acmicpc.net

문제

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

입력

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

출력

첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

제한

시간 제한 : 1초 / 메모리 제한 : 256MB


1. 어떻게 풀까?

1-1) 최솟값과 최댓값만 얻으면 된다.

먼저, N의 최대크기만큼의 int형 배열을 선언하고 입력된 수를 각각 저장하자.

 

C++ STL의 헤더 <algorithm.h>에는 max_element와 min_element라는 함수가 있다.

간략하게 설명하자면 두 함수는 최댓값과 최솟값을 반환하는 함수이다. 이를 활용하면 쉽게 풀 수 있는 문제.

자세한 사용법은 두 함수의 링크에서 (max_element, min_element) 에서 알 수 있다.

 

이후 최댓값과 최솟값을 출력하면 맞았습니다! 를 받을 수 있는 쉬운 문제.

2) 최종 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
 
int arr[1000000];
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int N; cin >> N;
    
    for (int i = 0; i < N; i++){
        cin >> arr[i];
    }
 
    cout << *min_element(arr, arr+N) << ' ' << *max_element(arr, arr+N);
 
    return 0;
}
cs

 

반응형

'PS 이야기 > PS - BOJ' 카테고리의 다른 글

[BOJ] 10871번 - X보다 작은 수  (0) 2022.04.12
[BOJ] 10869번 - 사칙연산  (0) 2022.04.08
[BOJ] 10809번 - 알파벳 찾기  (0) 2022.04.04
[BOJ] 9498번 - 시험 성적  (0) 2022.04.04
[BOJ] 8958번 - OX퀴즈  (0) 2022.04.04
댓글
Total
Today
Yesterday
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함