728x90
https://www.acmicpc.net/problem/2562
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
풀이
이 문제도 백준 알고리즘 10871번 : X보다 작은 수 문제와 같이 1차원 배열에 분류되어 있는 문제 이긴 하나, 배열을 사용하지 않고도 해결할 수 있다.
자연수를 입력받을 때마다 최댓값을 최신화하고, 몇 번째 수인지 출력하면 된다.
코드
BufferedReader 클래스와 StringBuilder 클래스를 이용한 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int max = 0;
int index = 0;
for (int i = 1; i <= 9; i++) {
int n = Integer.parseInt(br.readLine());
if (n > max) {
max = n;
index = i;
}
}
sb.append(max).append("\n").append(index);
System.out.println(sb);
}
}
틀린 부분이 있다면 정정해주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]백준 알고리즘 > 단계별 - 1차원 배열' 카테고리의 다른 글
[JAVA]백준 알고리즘 3052번 : 나머지 (0) | 2023.01.07 |
---|---|
[JAVA]백준 알고리즘 5597번 : 과제 안 내신 분..? (0) | 2023.01.06 |
[JAVA]백준 알고리즘 10818번 : 최소, 최대 (0) | 2023.01.06 |
[JAVA]백준 알고리즘 10871번 : X보다 작은 수 (0) | 2023.01.06 |
[JAVA]백준 알고리즘 10807번 : 개수 세기 (0) | 2023.01.06 |