반응형
백준 1546번 java 평균 (배열)
간단하다 세준이의 모든 점수를 배열에 저장하고 가장 큰 값을 찾은 후 배열의 모든 원소를 수식에 대입해서 값을 변경하면 끝난다.
배열원소/최대값*100 이 수식대로 하면 끝난다. 아 그리고 새로운 점수를 바탕으로 평균출력까지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.util.Scanner;
//baekjoon_1546
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
double ar[] = new double[n];
int max = 0;
double sum=0, maxScore;
for(int i=0; i<ar.length; i++) {
ar[i] = sc.nextInt();
if(ar[max] < ar[i])
max = i;
}
maxScore = ar[max];
for(int i=0; i<ar.length; i++) {
ar[i] = ar[i]/maxScore*100;
sum += ar[i];
}
System.out.println(sum/n);
}
}
|
cs |
line 8 : double로 배열 선언한 것은 나중에 나누고~곱하고 하다보면 소수가 생기기 때문
line 10 : 가장 큰 값을 가진 위치를 저장해 놓는 변수.
line 11 : 평균값을 구할 총값, 최대값 변수 선언.
line 12~16 : 먼저 배열 길이만큼 (.length) for문을 돌려서 우선 배열 원소를 초기화한다.
if문으로 배열 원소를 각각 비교하여 가장 큰 값을 가진 위치를 max에 저장한다.
line 18 : maxScore변수에 최댓값을 옮긴다. (그냥 ar[max]를 최댓값으로 사용할 경우 뒤에 나누고 곱하는 수식에서 값이 바뀌게 때문)
line 19 ~22 : 배열 크기만큼 반복하여 배열 전체를 점수/최대점수*100 수식으로 값을 변경한다.
sum 변수에 바뀐값들을 더해 간다.
line 23 : 이제 새로운 평균값을 출력해준다.
끝이당.
반응형
'프로그래밍 > 백준 알고리즘 코드' 카테고리의 다른 글
백준 4344번 java 자바 평균은 넘겠지 (2) | 2020.09.08 |
---|---|
백준 8958 Java 자바 OX퀴즈 String (0) | 2020.09.07 |
백준 3052번 java 나머지 (boolean 배열) (4) | 2020.09.04 |
백준 2577번 java 숫자의 개수 (Array) (0) | 2020.09.04 |
백준 2562번 java 최댓값 (1차원 배열) (0) | 2020.09.03 |
댓글