백준 문제풀이

25206번 : 너의 평점은

하다블 2023. 4. 21. 18:03
반응형

문제는 다음과 같습니다.

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