티스토리 뷰

 

문제 : 주어진 9X9 행열의 최댓값과 그에 해당하는 행과 열 값을 출력하시오


 

입력데이터 :

행열 1 2 3 4 5 6 7 8 9
1 3 23 85 34 17 74 25 52 65
2 10 7 39 42 88 52 14 72 63
3 87 42 17 78 53 45 18 84 53
4 34 28 64 85 12 16 75 36 55
5 21 77 45 35 28 75 90 76 1
6 25 87 65 15 28 11 37 28 74
7 65 27 75 41 7 89 78 64 39
8 47 47 70 45 23 65 3 41 44
9 87 13 82 38 31 12 29 29 80

 

 

 

출력 : 첫째 줄에 최댓값, 둘째 줄에 해당하는 행 번호와 열 번호 출력

 


 

 

 

풀이 코드 :

package org.example.이차원배열;

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

public class 최대값 {

    public static void main(String[] args) throws IOException {


        // BufferReader : 데이터 이동에  효율을 높여줌 (10m 거리에 있는 짐을 사람 혼자 여러번 옮기기 vs 자동차로 1번에 옮기기)
        // InputStreamReader : 데이터를 byte 단위로 입력받는 통로 역할
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int[][] arrys = new int[9][9];

        // br.readLine(); 한줄 씩 가져옴

        int max  = 0; // 최댓값
        int a = 0; // 행 번호
        int b = 0; // 열 번호


        for (int i = 0; i < 9; i++) {

            // BufferedReader 첫쩃줄 -> StringTokenizer로 정의
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");

            for (int j = 0; j < 9; j++) {


                // 토크나이저 값을 Int 형변환 후 배열에 입력
                arrys[i][j] = Integer.parseInt(st.nextToken());

                // 조건 : max < 배열 값이 클 경우, max 값 교체
                if (max < arrys[i][j]) {
                    max = arrys[i][j];
                    a = i;
                    b = j;

                }

            }
        }

        System.out.println(max);
        // 배열은 0번부터 시작 -> +1 해줘야함
        System.out.println((a + 1) + " " + (b + 1));



    }

}

 

 

흐름

  1. BufferedReader(입력데이터) → InputStream(이동통로) → StringTokenizer(데이터 자르기)→ int[ ][ ](자른 데이터 입력) 
  2. 전역변수 max(최댓값), a(행 번호), b(열 번호) 선언 if조건문(배열 값이 max 보다 크다면) : max, a, b 데이터 재선언
  3. 출력문 : 배열은 0번부터 시작 → 구해진 a(행 번호),  b(열 번호)에 +1 

 


 

 

 

 

'알고리즘 > 이차원배열' 카테고리의 다른 글

백준 2563번 색종이 자바 문제풀이  (0) 2023.03.03
백준 10798번 자바 세로읽기  (0) 2023.03.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함