자료구조/문제풀이
[백준 JAVA] 2566 최댓값
휴먼코딩
2024. 6. 29. 21:46
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Test_01 {
public static void main(String[] args) throws IOException {
//1. 문제
//9X9 격차판에 쓰여진 81개의 자연수 또는 0이 주어질 때
//이들 중 최댓값을 찾고
// 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오
// 2. 풀이방법
// - 행과 열의 개수만큼 반복문을 돌린다
// - 모든 숫자들을 비교하여 최댓값을 구한다
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int max = 0; //최댓값
int maxRow = 1; //행
int maxCol = 1; //열
//행과 열의 개수만큼 반복문을 돌린다.
//Token으로 모든 숫자를 가져와 num이라는 변수에 할당한다.
//max 변수로 모든 숫자들을 비교하여 최댓값을 구한다.
//해당 최댓값이 위치한 행과 열을 maxRow와 maxCol에 할당한다.
for (int i = 1; i <= 9; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
for (int j = 1; j <= 9; j++) {
int num = Integer.parseInt(st.nextToken());
if (num > max) {
max = num;
maxRow = i;
maxCol = j;
}
}
}
System.out.println(max);
System.out.println(maxRow + " " + maxCol);
br.close();
}
}
IDE에는 출력이 안되고 백준에도 nosuchElementException이 뜨길래 컴파일 문젠가 싶었더니
반복문을 돌릴때 배열을 0부터 시작해 실행이 안 됐던 거였다.....
허허...... 그러면 당연히 실행이 안되지.....