백준 10818 - 최소, 최대 [Rust]

[Bronze III] 최소, 최대 - 10818

Posted by Hebi on October 5, 2023

백준 알고리즘

[Bronze III] 최소, 최대 - 10818

문제 링크

성능 요약

메모리: 25440 KB, 시간: 72 ms

분류

구현, 수학

문제 설명

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

입력

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

출력

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

Code

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
32
33
34
35
36
//1차원배얄
use std::io;
fn main() {
    //스트링
    let mut input = String::new();
    // let mut output = String::new();
    let mut numbers_arry = String::new();
    //입력값받고
    io::stdin().read_line(&mut input).unwrap();
    io::stdin().read_line(&mut numbers_arry).unwrap();
    //배열선언
    let v2: Vec<i32> = numbers_arry
        .split_whitespace()
        .map(|x| -> i32 { x.parse().unwrap() })
        .collect();
    let result1 = v2.iter().max();
    let result2 = v2.iter().min();

    let mut result3 = 0;
    let mut result4 = 0;
    match result1 {
        // 분할이 유효 함
        Some(x) => result3 = *x,
        // 부서가 잘못되었습니다.
        None => println!("Cannot divide by 0"),
    }
    match result2 {
        // 분할이 유효 함
        Some(x) => result4 = *x,
        // 부서가 잘못되었습니다.
        None => println!("Cannot divide by 0"),
    }
    println!("{} {}", result4, result3);
}
//아직못품