반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/25206
25206번: 너의 평점은
인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치
www.acmicpc.net
풀이 코드는 다음과 같습니다.
#include <iostream>
#include <string>
using namespace std;
double change(string s)
{
if(s=="P")
return -1;
if(s=="A+")
return 4.5;
if(s=="A0")
return 4.0;
if(s=="B+")
return 3.5;
if(s=="B0")
return 3.0;
if(s=="C+")
return 2.5;
if(s=="C0")
return 2.0;
if(s=="D+")
return 1.5;
if(s=="D0")
return 1.0;
if(s=="F")
return 0.0;
}
int main() {
double total_score{0};
double total_credit{0};
for(int i{0};i<20;i++)
{
string s;
double score;
string credit;
cin>>s>>score>>credit;
if(change(credit)!=-1)
{
total_score+=score;
total_credit+=change(credit)*score;
}
}
cout<<total_credit/total_score;
return 0;
}
과목은 중요하지 않으나 입력되기 때문에 s라는 문자열 변수로 입력받았고
중요한 부분은 학점과 평점인데 P를 받은 경우는 측정하지 않기 때문에 넘겨주고 P가 아닌 경우에만 학점을 계산하면 풀 수 있는 문제입니다.
또한 스페셜저지 문제이기 때문에 10^(-4) 의 차이는 허용해주므로 편하게 나누기 연산을 사용해도 됩니다.
반응형
'백준 문제풀이' 카테고리의 다른 글
10812번 : 바구니 순서 바꾸기 (0) | 2023.04.21 |
---|---|
10988번 : 팰린드롬인지 확인하기 (0) | 2023.04.21 |
9086 번 : 문자열 (0) | 2023.04.20 |
2743번 : 단어 길이 재기 (0) | 2023.04.20 |
10811번 : 바구니 뒤집기 (0) | 2023.04.20 |