Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Docker
- Kaggle
- gs25
- dacon
- leetcode
- 자연어처리
- AI 경진대회
- 캐치카페
- Real or Not? NLP with Disaster Tweets
- 백준
- 맥북
- 편스토랑 우승상품
- 코로나19
- SW Expert Academy
- 파이썬
- 금융문자분석경진대회
- programmers
- ChatGPT
- 편스토랑
- 프로그래머스 파이썬
- github
- 프로그래머스
- Baekjoon
- 더현대서울 맛집
- 데이콘
- 우분투
- hackerrank
- Git
- ubuntu
- PYTHON
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 2755번 : 이번학기 평점은 몇점? (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 이번학기 평점은 몇점? 입니다.
Solution
def this_year_avg_score(grade_info):
credit_dict = {"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}
sum_score, div_num = 0, 0
for info in grade_info:
subject, grade, score = info.split()
sum_score += int(grade) * credit_dict[score]
div_num += int(grade)
avg_score = sum_score / div_num
result = avg_score * 1000
if result % 10 > 4:
result += (10 - result % 10)
result = result / 1000
return f"{result:.2f}"
if __name__ == "__main__":
report = []
for _ in range(int(input())):
grade_info = input()
report.append(grade_info)
print(this_year_avg_score(report))
Solution 풀이
입력받은 성적 정보를 활용해서 내 평균 평점을 소수점 3번째 자리에서 반올림해주는 문제입니다.
이 문제의 함정카드는 바로 저 소수점 3번째 자리에서 반올림에 있었습니다.
2021.08.22 - [Programming/Python] - [Python] round 함수 사용 시 주의 사항!
기존의 round 함수를 활용하여 문제를 풀려고 하니 반올림한 결과가 제대로 나오지 않아서
직접 반올림하는 식을 만들어 문제를 풀어보았습니다.
먼저 각 성적을 한줄씩 입력 받아서 이를 함수로 넘겨주면
함수에서는 각 성적 문자열을 split( ) 하여
과목, 학점, 성적으로 나누고
학점은 학점대로 따로 더하여 총학점을 구하고
성적은 성적대로 credit_dict에서 꺼내서 더해서 총 점수를 구한다음
마지막에 총 점수 / 총 학점 계산한 값을
직접 만든 식을 활용하여 소수점 세번째 자리에서 반올림해주면 됩니다.
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 11758번 : CCW (Python) (0) | 2021.08.25 |
---|---|
[Programmers] 위클리 챌린지 4주차 - 직업군 추천하기 (Python) (0) | 2021.08.23 |
[BaekJoon] 14915번 : 진수 변환기 (Python) (0) | 2021.08.21 |
[BaekJoon] 5598번 : 카이사르 암호 (Python) (0) | 2021.08.20 |
[BaekJoon] 12813번 : 이진수 연산 (Python) (0) | 2021.08.19 |
Comments