본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 20839 : Betygsättning

반응형

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

 

20839번: Betygsättning

På första raden står tre heltal $1 \leq x \leq 30$, $1 \leq y \leq 30$ och $1 \leq z \leq 30$, antalet A-, C- och E-kriterier som finns. På den andra raden står tre heltal $0 \leq x' \leq x$, $0 \leq y' \leq y$ och $0 \leq z' \leq z$, antalet A-, C- o

www.acmicpc.net

입출력, 함수, if문을 사용해 푼 문제였습니다.

 

 

📕 풀이방법

📔 입력 및 초기화

a기준, c기준, e기준 점수, 각 기준을 넘은 인원 수를 의미하는 일차원 배열 student를 선언 후 입력해줍니다.

 

📔 풀이과정

getGrade함수를 수행합니다. 각 기준에 맞는 등급을 반환해줍니다.

 

📔 정답출력

getGrade함수의 반환결과를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
double a, c, e, student[3];

char getGrade(){
    if(student[0] >= a && student[1] >= c && student[2] >= e) return 'A';
    if(student[0] >= a / 2 && student[1] >= c && student[2] >= e) return 'B';
    if(student[1] >= c && student[2] >= e) return 'C';
    if(student[1] >= c / 2 && student[2] >= e / 2) return 'D';
    return 'E';
}

int main(){
    cin >> a >> c >> e;
    for(int i = 0; i < 3; i++) cin >> student[i];
    cout << getGrade();
}