[JAVA] BOJ 10818 최소, 최대

John·2023년 3월 16일
0

코테 메모🌼

목록 보기
23/28
post-thumbnail

배열

개념

배열은 연관된 데이터를 모아서 관리하기 위해서 사용되는 데이터 타입

메모리 공간을 연속적으로 사용함으로 빠른 접근이 가능하다.
인덱스를 사용하여 접근하며 데이터 정렬이 쉽다.

크기가 고정되어있으며 동적인 조정이 어렵다.
요소를 추가, 삭제 하는 경우 메모리 공간을 새롭게 할당함으로 성능에 영향을 줄 수 있다.


시간복잡도

메소드시간복잡도설명
검색O(n)배열의 검색은 순차검색, 인덱스를 알지 못할 때 순서대로 확인
삭제O(n)해당 인덱스를 정확하게 알고 있다면 접근의 개념으로 O(1)의 시간복잡도를 가지지만 해당 인덱스를 찾아야한다면 검색의 시간복잡도인 O(n)
접근O(1)찾고자 하는 값이 몇 번째 인덱스에 있는지 알고 있을 경우 빠른 검색

문제 설명

최소, 최대

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


입/출력

입력

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

출력

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


예제

예제


풀이

package homework.week2;

import java.io.*;
import java.util.Arrays;

/**
 * @date : 2023-03-17
 * 최소, 최대(10818)
 */
public class BOJ10818 {

    /**
     * N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
     *
     * 입력
     * 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다.
     * 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
     *
     * 출력
     * 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
     */
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine()); // 정수 N
        int[] array = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();

        int max = Arrays.stream(array).max().getAsInt();
        int min = Arrays.stream(array).min().getAsInt();

        bw.write(String.valueOf(min) + " " + String.valueOf(max));
        bw.flush();
        bw.close();
        br.close();
    }
}

끄적거림

int[] array = Arrays.stream(br.readLine().split("")).mapToInt(Integer::parseInt).toArray();              

int[] array = {20, 10, 35, 30, 7}


                                 
int max = Arrays.stream(array).max().getAsInt();                                                
int min = Arrays.stream(array).min().getAsInt();             

배열의 최대, 최소 값 구하기


결과

결과

profile
기록을 습관으로

0개의 댓글