728x90

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

 

2566번: 최댓값

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

www.acmicpc.net

문제)<그림 1>과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오.

 

 

 

 

 

 

 

풀이)

import java.sql.SQLOutput;
import java.util.*;


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

        int[][] arr = new int[9][9];

        Scanner sc = new Scanner(System.in);

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

        int max = arr[0][0];
        int a = 0; int b=0;
        for(int i=0; i<9; i++){
            for(int j=0; j<9; j++){
                if(arr[i][j]>max){
                    max=arr[i][j];
                    a = i+1;
                    b = j+1;
                }else if(max==0){
                    a=1;
                    b=1;
                }
            }
        }

        System.out.println(max);
        System.out.printf("%d %d", a, b);
    }

}

모든 값이 0으로 주어질때, 0열0행이 아닌 1열 1행이 나올 수 있도록 설정해야된다는 점을 명시하자!!

 

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0
1 1

이렇게 출력되도록 설정 해줘야 한다...

처음에 문제를 틀렸는데, 이 반례를 생각못했당...ㅎㅎ

728x90