Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - 행복 (15969) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - 행복 (15969) (자바/Java)

luke-king 2024. 4. 9. 12:08

 

 

 

 

 

https://www.acmicpc.net/problem/15969

 

15969번: 행복

모든 서브태스크에서 2 ≤ N ≤ 1,000이고 입력되는 학생들의 점수는 0 이상 1,000 이하의 정수이다.

www.acmicpc.net

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


 

public class Main {

    public static void main(String[] args) {

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


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

        int min = arr[0];
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];

            }
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        System.out.println(max - min);
    }
}

 

이번 문제는 어렵지 않았던 문제였다. 백준을 많이 풀어봤다면 문제 읽자마자 접근 방법을 아셨을 거라 생각한다!

(지문 길면 일단 겁부터 먹는 필자...)

여하튼! 짧게 문제 설명 하자면 학생들 중 최고 높은 점수와 최고 낮은 점수의 차이를 구하는 문제다.

이 지문을 읽으면 바로 최대값,최소값 구하면 되는 문제라는 걸 바로 알아차릴 수 있을 거다.

풀이로 바로 들어가 보겠다.

 

1. 배열에 입력한 학생수만큼 넣어 준다.

 

2. 최솟값 최대값을 구하기 위해 min, max 변수를 만들어 인덱스 0번으로 초기화해준다.

 

3. for문 루프를 돌려 조건식에 맞춰 최대값,최소값을 구해준다.