[C] 백준 2754번: 학점계산

be_clever·2022년 2월 25일
0

Baekjoon Online Judge

목록 보기
93/172

문제 링크

2754번: 학점계산

문제 요약

문자로 주어진 학점을 숫자로 변환시켜 출력해야 한다.

접근 방법

F는 A, B, C, D와 연속되지 않기 때문에 별도로 처리를 해줍니다.

A, B, C, D 학점의 경우 1학점씩 차이가 나기 때문에 아스키 코드 상의 차를 이용하면 편리하게 코드를 짤 수 있습니다. 4.0을 디폴트로 두고, 'A'와의 차를 4.0에서 빼주는 식으로 기본 학점을 구합니다. 그리고 그 다음에 오는 문자가 '+'라면 0.3을 더해주고, '-'라면 0.3을 빼주면 됩니다.

코드

#include <stdio.h>

int main(void)
{
	char str[3];
	double score = 4.0;
	scanf("%s", str);

	if (str[0] == 'F')
	{
		printf("0.0\n");
		return 0;
	}

	score -= str[0] - 'A';
	if (str[1] == '+')
		score += 0.3;
	if (str[1] == '-')
		score -= 0.3;

	printf("%.1lf", score);
	return 0;
}
profile
똑똑해지고 싶어요

0개의 댓글