배열을 이용한 평균내기

 

내가 작성한 정답코드는 다음과 같다.

#include <iostream>

using namespace std;

int main(){
    int num = 0;
    int max = 0;
    double score[1000] = {}; 
    double sum = 0;
    double result = 0;

    cin>>num;

    for(int i = 0;i <num;i++){
        cin>>score[i];  //점수를 받는다.

        if (i == 0){
            max = score[i]; //첫 번째 숫자는 필연적으로 최댓값이다.
        }
        if (i > 0){
            if (max < score[i]){
                max = score[i]; //두 번째 이후 최댓값을 업데이트한다.
            }
        }
    }

    for(int j =0;j < num;j++){

        score[j] = (score[j] / max) * 100; 
        sum += score[j];
    }

    cout<< (sum / num) <<endl;

    return 0;
}

배열을 이용한 단순한 풀이가 가능했다. 다만 주의할점은 소숫점 결과출력에 따른 double형 지정이다.

 

자세한 내용과 문제는 이곳에서 확인하도록 하자.

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

 

 

'코딩 > 백준 알고리즘' 카테고리의 다른 글

백준 2798번 : 블랙잭  (0) 2022.02.15
백준 5622번 : 다이얼  (0) 2022.02.15
백준 11720번 : 숫자의 합  (0) 2022.02.15
백준 3052번 : 나머지  (0) 2022.02.14
[백준] 숫자의 개수 (2577번)  (0) 2022.02.14