[백준] 2566 최댓값 - Java

Yunki Kim·2023년 1월 4일
0

백준

목록 보기
81/104
post-thumbnail

문제


링크


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int[][] matrix = new int[9][9];
        int max = 0;
        int x = 0;
        int y = 0;
        for (int i = 0; i < matrix.length; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            for (int j = 0; j < matrix[i].length; j++) {
                matrix[i][j] = Integer.parseInt(st.nextToken());
                if (max < matrix[i][j]) {
                    max = matrix[i][j];
                    x = i;
                    y = j;
                }
            }
        }
        System.out.println(max);
        System.out.println((x + 1) + " " + (y + 1));
    }
}

리뷰

문제는 간단하여 쉽게 성공할 줄 알았으나 실패했다.

기존에는 출력문이 아닌 if문의 x와 y의 값에 직접 1을 더했으나 모든 행렬의 값이 0이여서 max값이 갱신되지 않는 경우 x와 y의 값이 변하지않는다.
문제에서 요구하는 출력값은 인덱스가 0에서 시작하는 것이 아닌 1에서 시작하므로
0, 1 1 의 형태로 출력되어야 하는데 0, 0 0으로 출력되기 때문에 실패했던 것이다.

0개의 댓글