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

[백준] - 최댓값 (2566) (자바/Java) 본문

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

[백준] - 최댓값 (2566) (자바/Java)

luke-king 2024. 6. 11. 17:29

 

 

 

 

 

문제 : https://www.acmicpc.net/problem/2566

 

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int[][] arr = new int[9][9];
        int max = 0;
        int x = 0;
        int y = 0;

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

                if (max < arr[i][j]) {
                    max = arr[i][j];
                    x = i;
                    y = j;

                }

            }

        }
        System.out.println(max);
        System.out.println((x+1) + " " + (y+1));


    }

}

 

오늘 문제는 백준 " 최대값 " 문제다.

일반 최대값 구하기 문제와 다르게 2차원 배열로 이루어져 있는 입력값 중 최대값을 구하고 최대값의 위치를 구하는 문제다. 그럼 바로 풀이해보겠다.

 

1. 최대값 변수 max, 위치값 변수 x, y를 만들어 준다.

 

2. 2차원 배열은 2중 for문을 사용해 2중 for문으로 만들어 준다.

 

3. 2번째 for문에 입력값을 받아 조건식에 max < arr [i][j]를 만들어 최대값을 받아준다. 그다음 x=i, y=j 위치값을 받는다.

 

4. 다 받았으면 max와 x, y를 출력하면 끝인데 배열의 위치가 0 이아닌 1부터 시작해야 하므로 x, y에 1씩 더해주면 끝이다.