본문 바로가기
알고리즘 문제풀이/백준

백준 10818번 최소, 최대 정답 코드

by 차누감 2024. 10. 13.
반응형

문제

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

입력

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

출력

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


1. Python

# 첫 번째 줄에서 N 입력받기
N = int(input())

# 두 번째 줄에서 N개의 정수 입력받기
numbers = list(map(int, input().split()))

# 최소값과 최대값 출력
print(min(numbers), max(numbers))

2. Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 첫 번째 줄에서 N 입력받기
        int N = sc.nextInt();
        
        // 두 번째 줄에서 N개의 정수 입력받기
        int[] numbers = new int[N];
        for (int i = 0; i < N; i++) {
            numbers[i] = sc.nextInt();
        }
        
        // 최소값과 최대값 구하기
        int min = numbers[0];
        int max = numbers[0];
        
        for (int i = 1; i < N; i++) {
            if (numbers[i] < min) {
                min = numbers[i];
            }
            if (numbers[i] > max) {
                max = numbers[i];
            }
        }
        
        // 최소값과 최대값 출력
        System.out.println(min + " " + max);
        
        sc.close();
    }
}

3. C++

#include <iostream>
#include <climits>
using namespace std;

int main() {
    int N;
    
    // 첫 번째 줄에서 N 입력받기
    cin >> N;
    
    // 최소값, 최대값 초기화
    int minVal = INT_MAX;
    int maxVal = INT_MIN;
    
    // 두 번째 줄에서 N개의 정수 입력받기
    for (int i = 0; i < N; i++) {
        int num;
        cin >> num;
        
        // 최소값, 최대값 업데이트
        if (num < minVal) minVal = num;
        if (num > maxVal) maxVal = num;
    }
    
    // 최소값과 최대값 출력
    cout << minVal << " " << maxVal << endl;
    
    return 0;
}
 

4. JavaScript

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];
rl.on('line', (line) => {
    input.push(line);
}).on('close', () => {
    const numbers = input[1].split(' ').map(Number);
    
    // 최소값과 최대값 구하기
    const minVal = Math.min(...numbers);
    const maxVal = Math.max(...numbers);
    
    // 최소값과 최대값 출력
    console.log(minVal + ' ' + maxVal);
});

5. C

#include <stdio.h>
#include <limits.h>

int main() {
    int N;
    
    // 첫 번째 줄에서 N 입력받기
    scanf("%d", &N);
    
    // 최소값, 최대값 초기화
    int minVal = INT_MAX;
    int maxVal = INT_MIN;
    
    // 두 번째 줄에서 N개의 정수 입력받기
    for (int i = 0; i < N; i++) {
        int num;
        scanf("%d", &num);
        
        // 최소값, 최대값 업데이트
        if (num < minVal) minVal = num;
        if (num > maxVal) maxVal = num;
    }
    
    // 최소값과 최대값 출력
    printf("%d %d\n", minVal, maxVal);
    
    return 0;
}
 
반응형

댓글