# 문제
- 주소: https://www.acmicpc.net/problem/2562
- 9개의 서로 다른 자연수 중 최댓값 구하고 몇 번째 있는지 구하기.
# 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int[] numbers = new int[9];
int max = numbers[0];
int index = 0;
for (int i = 0; i < 9; i++) {
numbers[i] = Integer.parseInt(br.readLine());
if (numbers[i] > max) {
max = numbers[i];
index = i + 1;
}
}
bw.write(max + "\n" + index);
bw.flush();
bw.close();
br.close();
}
}
# 입/출력 결과
# 과정
- BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
- BufferedWriter + OutputStreamWriter 사용해서 출력하기.
- int[] numbers 배열 몇개로 만들지 선언.
- int max에 numbers[0] 저장.
- int index= 0; 만들기
- for문 사용하여 계산하기.
- : int i = 0; i < 9; i++ 조건식 작성.
- : numbers[i] 마다 입력값 받아서 숫자로 형변환.
- : if문 사용하여 numbers[i]가 max보다 크면 max에 numbers[i]저장.
- : 그리고 해당 i를 index에 저장하는데 i + 1; 값을 저장(i=0으로 했었기 때문).
- : int i = 0; i < 9; i++ 조건식 작성.
- for문 밖에서 bw.write() 사용해서 max와 index값을 가져와 모아두기.
- bw.flush() 사용해서 출력하고 데이터 비우기.
- bw와 br에 .close() 작성해서 종료하기.
# 느낀 점
- 이전 문제에서 최솟값, 최댓값 구하는 것을 해보아서 그런지 코드를 작성하는데 어려움은 없었다.
'코딩 테스트' 카테고리의 다른 글
[코딩테스트] 백준 10813번: 공 바꾸기 (0) | 2025.05.21 |
---|---|
[코딩테스트] 백준 10810번: 공 넣기 (0) | 2025.05.21 |
[코딩테스트] 백준 10818번: 최소, 최대 (0) | 2025.05.20 |
[코딩테스트] 백준 10871번: X보다 작은 수 (0) | 2025.05.19 |
[코딩테스트] 백준 10807번: 개수 세기 (0) | 2025.05.19 |