티스토리 뷰

알고리즘

백준 #2566 java 2023.01.22

chaewonni 2023. 1. 22. 02:35

 

최댓값 문제! 어떤 문제에서든 최댓값 문제는 풀다보면 참 재미있는 것 같다. ㅎㅎ

 

package boj_basic.step9;

import java.util.Scanner;

public class Q2566 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[][] arr = new int[9][9];
		
		for(int i = 0; i<9; i++) {
			for(int j = 0; j<9; j++) {
				arr[i][j] = sc.nextInt();
			}
		}
		
		int max = 0;
		int num1 =0;
		int num2 = 0;
		for(int i = 0; i<9; i++) {
			for(int j = 0; j<9; j++) {
				if(max < arr[i][j]) {
					max = arr[i][j];
					num1 = i;
					num2 = j;
				}
			}
		}
		
		System.out.println(max);
		System.out.println((num1+1) +" " + (num2+1));
		
	}

}

배열을 만든 후에 처음 반복문에선 입력한 값들을 이차원 배열에 넣어준다. 그 다음, 두번째 반복문에서 max를 0으로 설정한 후에 max보다 큰 값들이 있으면 그 값이 최댓값이 되고, 그 최댓값보다 더 큰 값들이 있으면 계속해서 그 값들을 최댓값으로 갱신해준다. 마지막에 최댓값과 그 행과 열을 출력해주면 끝!

 

그런데 맨 처음에 제출했을 때 틀렸습니다. 가 떠서 틀릴게 없는데 왜 이러지? 해서 코드를 다시 살펴보다가 바로 틀린 부분을 확인할 수 있었는데, 행렬은 1부터 시작하는데 코드에선 0부터 시작했으니까 마지막에 최댓값의 행과 열의 값에 +1을 해주어야 한다!

 

 

'알고리즘' 카테고리의 다른 글

백준 #1978 java 2022.01.23  (0) 2023.01.23
백준 #2563 java 2022.01.22  (2) 2023.01.22
백준 #2738 java 2023.01.22  (0) 2023.01.22
백준 #10757 java 2023.01.20  (0) 2023.01.20
백준 #2839 java 2023.01.20  (0) 2023.01.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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
글 보관함