백준/심화
25206: 너의 평점은 / C++
Koalitsiya
2023. 3. 9. 18:21
문제
풀이
map 자료구조를 통해 등급을 key, 등급에 따른 과목평점을 value로 저장하고 등급이 P인 경우를 제외한 각 입력에서 학점과 학점 x 과목평점을 구한 뒤 학점 x 과목평점을 학점으로 나눈 값을 출력한다.
#include <iostream>
#include <string>
#include <map>
using namespace std;
map<string, double> m;
int main() {
string course, grade;
double score, score_sum = 0, result = 0;
m.insert({ "A+", 4.5 });
m.insert({ "A0", 4.0 });
m.insert({ "B+",3.5 });
m.insert({ "B0", 3.0 });
m.insert({ "C+", 2.5 });
m.insert({ "C0", 2.0 });
m.insert({ "D+", 1.5 });
m.insert({ "D0", 1.0 });
m.insert({ "F", 0.0 });
for (int i = 0; i < 20; i++) {
cin >> course >> score >> grade;
if (grade == "P") continue;
score_sum += score;
result += score * m[grade];
}
cout << fixed;
cout.precision(6);
cout << result / score_sum;
return 0;
}