오늘은 마침 컬렉션 프레임워크에 대해서 공부했기에, 이를 이용하여 문제를 풀어봤다.
이 문제 또한 매우 쉽지만, 나는 오늘 배운걸 복습할 겸, 하드코딩?을 해보았다.
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class Step4_10 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
int n = Integer.valueOf(br.readLine()); // 세준이가 본 시험 과목 수
ArrayList<Integer> score = new ArrayList<>(); // 세준이의 시험 점수
StringTokenizer st = new StringTokenizer(br.readLine(), " "); // 공백을 구분자로 시험 점수 입력
for(int i = 0; i < n; i++)
score.add(Integer.valueOf(st.nextToken()));
Collections.sort(score); // 오름차순으로 정렬
double total = 0;
for(int i = 0; i < n; i++)
total += (double)score.get(i)/score.get(score.size()-1)*100;
System.out.println(total / n);
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
여러 데이터중 가장 큰 값을 구할 떄, 정렬을 하고 맨 뒤에 있는 요소가 가장 큰값이라는게 포인트이다.
'알고리즘 분류 > Step4 1차원 배열' 카테고리의 다른 글
</Step4_9> 10811 바구니 뒤집기 JAVA (0) | 2023.03.24 |
---|---|
</Step4_8> 3052 나머지 JAVA (0) | 2023.03.23 |
</Step4_7> 5597 과제 안 내신 분..? JAVA (0) | 2023.03.22 |
</Step4_6> 10813 공 바꾸기 JAVA (0) | 2023.03.20 |
</Step4_5> 10810 공 넣기 JAVA (0) | 2023.03.19 |