백준 풀이/자바(Java)
백준 2566 자바 - 최댓값
콘스_
2023. 10. 12. 16:00
// 최댓값
package Bronze_III_3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Ex2566 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = null;
int num = 0; // 입력받은 숫자 저장 공간
int maxNum = 0; // 최댓값 저장 공간
int maxLow = 1; // 최댓값의 행
int maxCol = 1; // 최댓값의 열
for (int row = 1; row <= 9; row++) { // 행
st = new StringTokenizer(br.readLine());
for (int col = 1; col <= 9; col++) { // 열
num = Integer.parseInt(st.nextToken());
// 최댓값, 최댓값의 행, 열 저장
if (num > maxNum) {
maxNum = num;
maxLow = row;
maxCol = col;
}
}
}
System.out.println(maxNum);
System.out.println(maxLow +" "+ maxCol);
}
}
처음엔 maxLow와 maxCol의 값도 0으로 초기화 해서 틀렸었다. 그 이유는 행, 열은 각각 1행, 1열부터 시작하기 때문이다. 그래서 maxLow와 maxCol의 값을 0으로 초기화 했을시, 입력값에 0만 넣으면 maxLow와 maxCol의 값이 0으로 출력돼서 틀린다.
아니면 if (num > maxNum) 부분을 if (num >= maxNum)으로 고치면 maxLow와 maxCol을 1이 아닌 0으로 초기화해도 된다.