728x90
반응형
문제
정답 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
double[] array = new double[Integer.parseInt(br.readLine())];
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int z=0; z< array.length; z++) {
array[z] = Double.parseDouble(st.nextToken());
}
double max = 0;
for(int i=0; i<array.length; i++) {
if(array[i] > max)
max = array[i];
}
double avg = 0;
for(int j=0; j<array.length; j++) {
avg += ((array[j]/max)*100);
}
System.out.print(avg/array.length);
br.close();
}
}
결과값이 소수점까지 나온 다는 것을 주의하여 double형으로 계산해주면 됩니다!
크게 어렵지 않게 느껴졌어요.
제법..알고리즘에 익숙해진 거 같아 기분이 좋네요ㅎㅎ
살짝 헤맸던 부분은 avg += 해줄 때 계산식에 괄호를 넣지 않으니 에러가 나더라고요
계산 순서 때문인가 싶어서 괄호를 쳐주니 해결됐습니다!
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[프로그래머스/Java] 평균 구하기 (0) | 2023.03.24 |
---|---|
[프로그래머스/Java] 약수의 합 (0) | 2023.03.24 |
[백준/Java] 10811번 바구니 뒤집기 (0) | 2023.03.09 |
[백준/Java] 3052번 나머지 (0) | 2023.03.07 |
[백준/Java] 5597번 과제 안 내신 분..? (0) | 2023.03.07 |