9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
//최대값
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[9];
String str = "";
for(int i=0; i< array.length; i++){
str = br.readLine();
array[i] = Integer.parseInt(str);
}//for
//System.out.println(Arrays.toString(array));//배열 출력 [3, 29, 38, 12, 57, 74, 40, 85, 61]
// 1) 배열의 최대값: stream
int max1 = Arrays.stream(array).max().getAsInt();
System.out.println(max1);
// 2) 배열의 최대값 : sort()
//Arrays.sort(array);// 구조 바뀜
//int max2 = array[array.length-1];
//System.out.println(max2);
// 인덱스 찾기 https://hianna.tistory.com/514
int maxIndex =0;
for(int i =0; i<array.length; i++){
if(array[i]>=max1){
maxIndex=i+1;
}
}
System.out.println(maxIndex);
}
}
break 추가
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
//최대값
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[9];
String str = "";
for(int i=0; i< array.length; i++){
str = br.readLine();
array[i] = Integer.parseInt(str);
}//for
int max1 = Arrays.stream(array).max().getAsInt();
System.out.println(max1);
int maxIndex =0;
for(int i =0; i<array.length; i++){
if(array[i]>=max1) {
maxIndex = i + 1;
break;
}
}
System.out.println(maxIndex);
}
}
'학습 기록 (Learning Logs) > 알고리즘' 카테고리의 다른 글
[백준] 숫자의 개수 (0) | 2021.09.27 |
---|---|
[백준] 평균은 넘겠지 (0) | 2021.09.27 |
[백준] 곱하기 (0) | 2021.09.25 |
[백준] 사칙연산 (0) | 2021.09.25 |
[백준] 단어 공부 (0) | 2021.09.25 |