상세 컨텐츠

본문 제목

< 백준 BaekJoon : 1546번 평균 > C++

C++/Baekjoon

by J2on 2021. 9. 19. 19:08

본문

추석 연휴는 참 행복하다.

군인인 나는 불행하다.

 

 

이 문제는 모든 점수를 최고점을 100점으로 보았을 때의 점수로 변환해 평균을 구하는 문제이다.

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

그닥 어려운 문제는 아니다.

 

<<문제 해결과정>>

 1. 최고점을 찾는다.

 2. 최고점을 기준으로 한 각각의 변환된 점수를 구한다.

 3. 다 더해서 평균을 구해준다.

 

단, 하나 생각해야 할 것이 있다면 소숫점을 사용하기 때문에 float이나 double을 적절히 사용해야 한다는것?

 

<<코드>>

#include<iostream>
using namespace std;

int main() {
  int Subject;
  cin >> Subject;
  float ScoreArray[Subject];
  int Max = 0;
  for (int i=0; i < Subject; ++i) {
    cin >> ScoreArray[i];
    if(ScoreArray[i] > Max) {
      Max = ScoreArray[i];
    }
  }
  float Total = 0;
  for (float &Score:ScoreArray){
    Score = (Score/Max) * 100;
    Total += Score;
  }
  
  float Average = Total/Subject;
  cout << Average;
}

 

 

 

세준이는 참 나쁜아이다.

 

<<GitHub>>

https://github.com/J2on/BaekjoonOnlineJudge/blob/master/Code/Baekjoon_1546.cpp

관련글 더보기

댓글 영역