반응형
-해법
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
ArrayList<Integer> arr = new ArrayList<>();
int max = 0, position = 0;
for(int i=0;i<9;i++){
arr.add(in.nextInt());
if(arr.get(i)>max) {
max = arr.get(i);
position = i;
}
}
System.out.println(max);
System.out.println(position+1);
in.close();
}
}
이 문제를 처음에 Collections.max()를 활용해 최댓값을 찾고자 하였지만, 이 방법은 ArrayList에 데이터를 저장하는 반복문 1번과 최댓값과 일치하는 값을 찾기 위한 반복문 1번을 사용해 총 2번의 반복문을 사용해야 하기 때문에 속도면에서 효율적이지 못했다.
따라서 max, position이라는 별도의 변수를 선언한 뒤, 데이터가 입력될 때마다 해당 값들을 경신하면서 모든 데이터의 입력이 끝나고 출력만 해주면 되기 때문에 반복문이 1번만 사용된다.
반응형