배열을 이용한 평균내기
내가 작성한 정답코드는 다음과 같다.
#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 |