반응형
https://www.acmicpc.net/problem/2566
- 문제
- 문제 풀이
백준 2566번 최댓값은 브론즈 3 난이도의 구현 문제이다.
이 문제에서는 9 X 9 격자판에 81개의 자연수 또는 0이 주어진다. 이때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치해 있는지도 구하면 된다.
이 문제는 배열을 이용하지 않아도 충분히 풀 수 있다.
이 문제는 StringTokenizer만 이용해서도 충분히 풀 수 있다.
StringTokenizer는 문자열을 분리하는 클래스이다. 예를 들어보겠다. 만약에 문제 예시처럼 한 행에 다음과 같이 9개의 숫자가 있다고 해보겠다.
3 23 85 34 17 74 25 52 65
StringTokenizer st = new StringTokenizer(br.readLine());
이렇게 StringTokenizer 객체를 만들면 한 토켄에 3, 23, 85, ..., 65가 있고 이 StringTokenizer 객체에는 총 9개의 토켄이 있다. 따라서, 이 숫자들을 배열에 직접 저장하지 않아도 입력을 받을 때 이중 for-loop을 이용해서 현재 최댓값과 비교해서 풀 면 된다.
자세한 코드는 아래에 있는 코드를 참고하면 되겠다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int max = 0; //최댓값
int row = 1; //행
int column = 1; //열
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;
row = i;
column = j;
}
}
}
System.out.println(max);
System.out.println(row + " " + column);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 10813번 : 공 바꾸기 – JAVA [자바] (0) | 2023.08.07 |
---|---|
[백준] 10810번 : 공 넣기 – JAVA [자바] (0) | 2023.08.07 |
[백준] 25314번 : 코딩은 체육과목 입니다 – JAVA [자바] (0) | 2023.08.04 |
[백준] 1747번 : 소수&팰린드롬 – JAVA [자바] (2) | 2023.08.03 |
[백준] 23972번 : 악마의 제안 – JAVA [자바] (0) | 2023.08.03 |
댓글