[BAEKJOON] 백준 2754 : 학점계산(C#)

2024. 4. 5. 02:06IT/BaekJoon

문제 링크

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

 

2754번: 학점계산

어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0

www.acmicpc.net

 

 

문제

어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오.

A+: 4.3, A0: 4.0, A-: 3.7

B+: 3.3, B0: 3.0, B-: 2.7

C+: 2.3, C0: 2.0, C-: 1.7

D+: 1.3, D0: 1.0, D-: 0.7

F: 0.0

 

 

입력

첫째 줄에 C언어 성적이 주어진다. 성적은 문제에서 설명한 13가지 중 하나이다.

 

 

출력

첫째 줄에 C언어 평점을 출력한다.

 

 

 

통과한 답안

더보기
namespace _2754
{
    internal class Program
    {
        enum CScore
        {
            A = 4, B = 3, C = 2, D = 1, F = 0
        }
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            double answer = 0;

            if (Enum.TryParse(s.Substring(0, 1), out CScore score))
            {
                answer = (double)score;
            }

            if (s.Length > 1)
            {
                if (s[1] == '+')
                {
                    answer += 0.3;
                }
                else if (s[1] == '-')
                {
                    answer -= 0.3;
                }
            }

            Console.WriteLine($"{answer:0.0}");
        }
    }
}

 

enum을 사용해서 알파벳마다 점수를 정하고

+, -에 따라서 점수를 더하거나 빼준다.

그 후 소수점 한자리까지 출력되게 조절한다.