티스토리 뷰

[단계별로 풀어보기 / 배열] 10818

 

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

 

풀이: 배열에서 최댓값과 최솟값을 구하는 방법은 여러가지가 있는데, 여기서는 기준이 되는 값을 두고 배열의 요소를 하나씩 비교해 기준값보다 크거나 작으면 그 기준값을 업데이트하여 모든 요소와 비교를 마쳤을 때 기준값은 최댓값/최솟값이 되게 하는 방식으로 구현했다.

 

코드:

 

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int a[] = new int[n];
        for (int i = 0; i < n; i++){
            a[i] = sc.nextInt();
        }

        int max = a[0]; // 초기 기준값을 첫번째 요소로 둔다
        int min = a[0];

        for (int j = 1; j < n; j++){ // a[0]를 제외하고, 그 다음인 a[1]부터 비교
            if (max < a[j]){ // 현재 최댓값보다 배열의 요소가 클 경우
                max = a[j]; // 현재 최댓값(기준값)을 해당 요소로 업데이트
            }

            else if (min > a[j]){ // 최솟값도 똑같은 방법이다
                min = a[j];
            }
        }


        System.out.printf("%d %d", min, max);

    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함