728x90
유형 | 난이도 | 완료일 | 링크 | 특이사항 |
문자열 | 실버5 | 23/03/15 | https://www.acmicpc.net/problem/25206 |
내 코드
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main(void)
{
string name;
float point;
string grade;
float point_sum = 0;
float grade_sum = 0;
for(int i=0;i<20;i++)
{
cin >> name >> point >> grade;
if(grade[0]-64 == 6) //F
point_sum += point;
else if(grade[0]-64 == 16) //P
continue;
else
{
point_sum += point;
float temp;
temp = (5 - (grade[0]-64));
if(grade[1]-48 != 0)
temp += 0.5;
grade_sum += point * temp;
}
//cout <<"point : " <<point <<"\\n";
//cout << grade_sum << "\\n";
}
float ans = grade_sum/point_sum;
cout << ans;
}
문자열을 띄어쓰기를 기준으로 구분해 입력 받고 아스키코드를 이용해 각 문자에 맞춰 계산하는 문제. 기본 문제였다.
728x90
'Algorithm' 카테고리의 다른 글
[백준/C++] 2293 동전 1 (G5) (1) | 2023.10.17 |
---|---|
[백준/C++] 11047 동전0 (S4) (0) | 2023.10.17 |
[백준/C++] 10812 바구니 순서 바꾸기 (B2) (0) | 2023.10.16 |
[백준/C++] 1535 안녕 (S2) (0) | 2023.10.16 |
[백준/C++] 12865 평범한 배낭 (G5) (0) | 2023.10.16 |