문제
풀이
- 길이가 9인 정수형 배열을 선언한다.
- BufferedReader로 자연수 9개를 입력받아 배열에 저장한다. >> 개행문자 기준이므로 StringTokenizer 쓰지 않음
- 최댓값을 저장할 변수 max를 선언하고 0으로 초기화한다. >> 문제에서 입력값이 100보다 작은 자연수로 주어졌으므로, max값을 가장 작은 자연수인 1보다 더 작은 0으로 설정했다. 초기값 0을 입력값(1~100)과 비교하여 더 큰 값으로 update한다.
- 배열의 모든 요소를 비교해야 하므로 for문을 배열의 길이(9)만큼 회전한다.
- max가 update될 때마다 index값을 update한다.
- BufferedWriter로 max, index를 출력한다.
코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
//BufferedReader로 자연수 9개 받고 배열에 저장
//max 찾기 >> 배열 원소와 임의의 값 바로 비교
//max의 위치 찾기
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int[] arr = new int[9];
int max = 0;
int index = 0;
for(int i=0; i<9; i++) {
arr[i] = Integer.parseInt(br.readLine());
if(max<arr[i]) {
max = arr[i];
index = i+1;
}
}
bw.write(max + "\n" + index + "\n");
bw.close();
}
}
Note
배열에서 min, max를 찾을 때 배열의 요소를 특정 값과 비교하여 구할 수 있다.
비교 대상은
min = 주어진 입력값 범위 이상의 수
max = 주어진 입력값 범위 이하의 수
로 설정하고 min보다 작으면 min을 그 수로 update, max보다 크면 max를 그 수로 update한다.
'BOJ' 카테고리의 다른 글
[백준 10811번/JAVA] 바구니 뒤집기 | 배열 (0) | 2024.03.05 |
---|---|
[백준 3052번/JAVA] 나머지 | 배열 (0) | 2024.03.04 |
[백준 5597번/JAVA] 과제 안 내신 분..? | 배열 (0) | 2024.03.04 |
[백준 10818번/JAVA] 배열의 최댓값 최솟값 출력 | Bubble Sort 시간 초과 (0) | 2024.03.03 |
[백준 10871번/JAVA] X보다 작은 수 | BufferedWriter의 write()로 int형 출력하기 (0) | 2024.03.02 |