본문 바로가기
알고리즘/백준 문제 풀이

[BOJ/백준] 25206번 너의 평점은 - [c/c++] 풀이

by 미니상미니 2023. 5. 31.
반응형

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

 

25206번: 너의 평점은

인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치

www.acmicpc.net

 

 

 

 


  • 문제


해설

단순한 문제로 설명할 부분이 없다.

학점의 경우 앞 글자인 (A, B, C, D)만 구별해준 후, 뒤에 +가 있을 경우 0.5만 더해주는 방법으로 간단하게 구할 수 있다.

 

코드

c

#include <stdio.h>

int main() {

  char name[51];
  char grade[3];
  double credit;

  double sumCredit = 0.0;
  double temp;
  double res = 0.0;
  for(int i = 0; i < 20; i++) {
    scanf("%s %lf %s", name, &credit, grade);
    if(grade[0] == 'P') continue;
    
    sumCredit += credit;
    if(grade[0] == 'F') continue;

    if(grade[0] == 'A') temp = 4;
    else if (grade[0] == 'B') temp = 3;
		else if (grade[0] == 'C') temp = 2;
    else temp = 1;

    if (grade[1] == '+') temp += 0.5;

    res += credit * temp;
  }

  printf("%lf", res / sumCredit);

  return 0;
}

 

c++

#include <iostream>

using namespace std;

int main() {

  string name, grade;
  double credit;

  double sumCredit = 0.0;
  double temp;
  double res = 0.0;
  for(int i = 0; i < 20; i++) {
    cin >> name >> credit >> grade;
    if(grade == "P") continue;
    
    sumCredit += credit;
    if(grade == "F") continue;

    if(grade[0] == 'A') temp = 4;
    else if (grade[0] == 'B') temp = 3;
		else if (grade[0] == 'C') temp = 2;
    else temp = 1;

    if (grade[1] == '+') temp += 0.5;

    res += credit * temp;
  }

  cout << res / sumCredit;

  return 0;
}

 

 

 

 

 

반응형

댓글