자바 백준 2566번
브론즈 3
https://www.acmicpc.net/problem/2566
문제 보기
분류: 구현
문제 풀기
2차원 행렬을 입력받고 2중 for loop 을 사용하여 최댓값을 탐색한다.
코드 보기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 2차원 array 생성. 위치 행렬 번호는 index 동일 지정.
int[][] grid = new int[1 + 9][1 + 9];
// 주어진 9x9 격자 입력.
getTheTwoDimensionalArray(grid);
// 최댓값 찾기 및 결과 출력.
findMaxValueAndPosition(grid);
}
private static void getTheTwoDimensionalArray(int[][] grid) {
Scanner sc = new Scanner(System.in);
// 9x9 격자 입력.
for (int i = 1; i <= 9; i++) {
// 한 줄의 입력에 대해 빈칸으로 나누어 배열에 저장.
String[] row = sc.nextLine().split(" ");
// String으로 저장된 숫자 배열을 Integer로 변경하여 준비된 2차원 배열에 저장.
for (int j = 1; j <= 9; j++) {
grid[i][j] = Integer.parseInt(row[j - 1]); // String 배열은 index 0부터 저장되었기에 j - 1 기준.
}
}
sc.close();
}
private static void findMaxValueAndPosition(int[][] grid) {
// 최댓값, 행, 열 변수 선언 및 초기값 지정.
int max = Integer.MIN_VALUE;
int row = -1;
int col = -1;
// 2차원 배열을 모두 탐색하며 최댓값, 행, 열 저장.
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
if (grid[i][j] > max) { // 탐색된 값이 이전 max 값보다 작으면.
max = grid[i][j];
row = i;
col = j;
}
}
}
System.out.println(max);
System.out.print(row + " " + col);
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 9506 - 약수들의 합 (0) | 2023.07.01 |
---|---|
[Java] 백준 풀기 2745 - 진법 변환 (0) | 2023.06.30 |
[Java] 백준 풀기 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.06.28 |
[Java] 백준 풀기 2908 - 상수 (0) | 2023.06.27 |
[Java] 백준 풀기 5597 - 과제 안 내신 분..? (0) | 2023.06.26 |