728x90
문제
https://www.acmicpc.net/problem/2566
2566번: 최댓값
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.
www.acmicpc.net
9x9 행렬의 성분 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 문제이다.
[입력]
3 23 85 34 17 74 25 52 65
10 7 39 42 88 52 14 72 63
87 42 18 78 53 45 18 84 53
34 28 64 85 12 16 75 36 55
21 77 45 35 28 75 90 76 1
25 87 65 15 28 11 37 28 74
65 27 75 41 7 89 78 64 39
47 47 70 45 23 65 3 41 44
87 13 82 38 31 12 29 29 80
[출력]
90
5 7
------------------------------------------------------------------------------------------------------------------
풀이
9 x 9 행렬이므로 2차원 배열의 크기를 9로 설정하였다.
숫자를 입력받은 뒤, 행렬의 성분이 max보다 큰 경우 max가 되도록, 몇 행 몇 열인지 알 수 있게 x, y에 저장하였다.
전부 다 0으로 입력한 경우, 1행 1열이 나와야하므로 x와 y의 초기값은 1로 설정하였다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int i,j;
int max = 0;
int x = 1, y = 1;
int arr[][] = new int[9][9];
for(i=0;i<9;i++) {
for(j=0;j<9;j++) {
arr[i][j] = sc.nextInt();
}
}
for(i=0;i<9;i++) {
for(j=0;j<9;j++) {
if(arr[i][j]>max) {
max = arr[i][j];
x = i+1;
y = j+1;
}
}
}
sc.close();
System.out.println(max);
System.out.println(x+" "+y);
}
}

728x90
'문제 풀이' 카테고리의 다른 글
[백준] 28278번: 스택 2 - Python(파이썬) (0) | 2024.02.17 |
---|---|
[백준] 10798번: 세로읽기 - JAVA(자바) (0) | 2023.08.22 |
[백준] 2738번: 행렬 덧셈 - JAVA(자바) (0) | 2023.08.21 |
[백준] 25206번: 너의 평점은 - JAVA(자바) (0) | 2023.08.11 |
[백준] 2941번: 크로아티아 알파벳 - JAVA(자바) (0) | 2023.08.10 |