백준 25206 너의 평점은알고리즘/백준2023. 4. 11. 20:51
Table of Contents
일단 문제를 잘 읽어야 한다는 것을 다시한번 느끼게 되었습니다.
현재 학교를 다니는데 학교 평점이 이렇게 계산되는지는 몰랐네요...;;
핵심은 "전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다." 이부분인거같습니다.
저는 map 이진 탐색트리인 레드블랙트리를 통해서 학점에 따른 점수를 구할 수 있도록 하였습니다.
P라면 continue 해주어야 겠지요. 또한 double타입으로 수를 더해야 합니다.
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
string s, d;
double num, sum, ScoreSum;
int d2 = 20;
map<string, double> m;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
m.insert({string("A+"), 4.5f});
m.insert({string("A0"), 4.0f});
m.insert({string("B+"), 3.5f});
m.insert({string("B0"), 3.0f});
m.insert({string("C+"), 2.5f});
m.insert({string("C0"), 2.0f});
m.insert({string("D+"), 1.5f});
m.insert({string("D0"), 1.0f});
m.insert({string("F"), 0.f});
for (int i = 0; i < 20; ++i)
{
cin >> s >> num >> d;
if (d == "P")
{
--d2;
continue;
}
else
{
sum += m[d] * num;
ScoreSum += num;
}
}
printf("%.6lf", double(sum / ScoreSum));
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1722 순열의 순서 C++ (0) | 2024.02.29 |
---|---|
[백준] 17472 다리 만들기2 C++ (0) | 2024.02.26 |
백준 10811 바구니 뒤집기 (0) | 2023.03.24 |
백준 3015 오아시스 (0) | 2023.03.22 |
백준 15926 현욱은 괄호왕이야! (0) | 2023.03.21 |
@CGNY :: 김놀자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!