문제번호: 25206
문제명: 너의 평점
문제링크: https://www.acmicpc.net/problem/25206
문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다.
안녕하세요. 이번주는 방학 심화반 수업기간이라 백준에 쏟을 시간이 많이 없어서 실버 5~4 정도 문제들로 문제풀이를 진행하려고 합니다. 이번엔 실버 5인 너의평점 문제를 풀어보았습니다.
해당 문제는 간단한 계산공식을 이용하여 풀이할 수 있습니다.
(학점 × 과목평점)의 합을 학점의 총합으로 나눈 값
학점, 과목평점을 입력으로 받아 위와 같은 공식으로 답을 출력하면 됩니다.
신경쓸 부분은 소수부분 제어와 딕셔너리 만들어두고 활용하기 정도인 것 같네요.
다음은 정답코드입니다.
public static void Main()
{
StreamReader sr = new StreamReader(Console.OpenStandardInput()); // 안녕하세
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
Dictionary<string, float> GradePoint = new Dictionary<string, float>()
{
{"A+", 4.5f },
{"A0", 4.0f },
{"B+", 3.5f },
{"B0", 3.0f },
{"C+", 2.5f },
{"C0", 2.0f },
{"D+", 1.5f },
{"D0", 1.0f },
{"F", 0.0f },
};
double num = 0;
double answer = 0; // (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값
while (true)
{
string _input = sr.ReadLine();
if (_input == null) break;
if (_input == "aaa") break;
string[] input = _input.Split();
float credit = float.Parse(input[1]); // 학점
float rankPoint = 1;
string rank = input[2]; // 등급
if (GradePoint.ContainsKey(rank)) // 등급으로 과목평점 찾기
{
rankPoint = GradePoint[rank];
answer += credit * rankPoint;
num += credit; // 학점의 총합 구해내기
}
}
sr.WriteLine((answer / num).ToString("F6"));
sr.Close();
sw.Close();
}'알고리즘 풀이' 카테고리의 다른 글
| [C#] 백준 24313번 문제풀이 (0) | 2026.01.15 |
|---|---|
| [C#] 백준 1475번 문제풀이 (0) | 2026.01.14 |
| [C#] 백준 15649번 문제풀이 (0) | 2026.01.11 |
| [C#] 백준 1927번 문제풀이 (0) | 2026.01.10 |
| [C#] 백준 9375번 문제풀이 (0) | 2026.01.09 |