티스토리 뷰

www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

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

www.acmicpc.net

이 문제는 주어진 숫자들에 대해 최소, 최대를 구하여 출력하는 문제입니다.

버블정렬을 사용하였더니, 시간초과가 발생하였습니다.

이를 방지하기 위해 최대값, 최소값만 찾아 출력하여 해결.

ArrayIndexOutOfBounds 에러가 떠서 이러한 점들은 주의가 필요. 

import java.util.Arrays;
import java.util.Scanner;

public class boj_10818 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] data = new int[N];

        for(int i = 0; i < N; i++){
            data[i] = sc.nextInt();
        }

        int min = data[0]; // 가장 큰수
        int max = data[0];

        for(int i = 0; i< N; i++){
            if(min > data[i]){
                min = data[i];
            }
        } // 최소값 찾는 과정

        for(int i = 0; i < N; i++){
            if(max < data[i]){
                max = data[i];
            }
        }

        System.out.println(min+" "+max);

    }
}

'Algorithm > 백준 문제풀이' 카테고리의 다른 글

백준 2751 수 정렬하기2 자바  (0) 2019.12.14
백준 2231번 분해합  (0) 2019.11.29
백준 1712 손익분기점  (0) 2019.11.28
백준 15740  (0) 2019.05.28
백준 스택수열 1874번  (0) 2019.05.11
댓글