Algorithm/백준

[백준 알고리즘] 2562번 문제: 최댓값 (Java)

Eli.P 2022. 5. 26. 21:34
728x90
반응형

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

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net

문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

입력

첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

출력

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.

예제 입력 

3
29
38
12
57
74
40
85
61

예제 출력 

85
8

 

나의 코드

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int[] arr = new int[9];
        for(int i=0; i<9; i++){
            arr[i] = sc.nextInt();
        }

        int max = arr[0];
        int order = 0;
        for(int i=0; i<arr.length; i++){
            if(max < arr[i]){
                max = arr[i];
                order = i;
            }
        }

        System.out.println(max);
        System.out.println(order+1);
    }
    
}

코드 설명

1. 9칸의 배열에 출력된 값을 담는다.

2. 첫번째에 들어있는 값을 max라는 변수에 담는다.

3. order라는 변수를 0으로 초기화 시켜놓는다.

4. 담은 배열을 반복해 max값과 배열값을 비교해 max가 더 작으면 배열값을 max에 넣고, order에 해당 배열에 인덱스 번호를 담는다. 

5. 출력할 때는 max값과 order + 1 한 값을 출력한다. 

728x90
반응형