코테/백준

[백준/JAVA] 2566번: 최댓값

imname1am 2023. 4. 5. 22:21
반응형

🔺 문제

 

2566번: 최댓값

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

www.acmicpc.net

 

🔺 코드

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        var br = new BufferedReader(new InputStreamReader(System.in));

        int[][] arr = new int[10][10];
        int max = 0;

        int aIdx = 0;
        int bIdx = 0;

        for(int i = 1 ; i < 10 ; i++) {
            var st = new StringTokenizer(br.readLine(), " ");

            for(int j = 1 ; j < 10 ; j++) {
                int num = Integer.parseInt(st.nextToken());
                arr[i][j] = num;

                if(arr[i][j] >= max) {
                    max = arr[i][j];

                    aIdx = i;
                    bIdx = j;
                }
            }            
        }

        System.out.println(max);
        System.out.println(aIdx + " " + bIdx);
    }
}
✅ 해결 아이디어
- 입력 받은 값이 최댓값보다 크거나 같을 때, 최댓값 갱신
- 이 때의 인덱스 위치를 저장 (aIdx, bIdx)

 

💥 유의사항

⇨  var st = new StringTokenizer(br.readLine(), " ");  위치

if문에서 > 아니고,  >=

 


💬 느낀 점

등호를 등한시하지 말자..

반응형