반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
이 문제에서 사용한 map을 사용한 입력 방식은 정말 많이 사용하는 입력 방식입니다.
이해하고 거의 외운 것 마냥 써봅시다.
실수형 값과 정수형 값을 연산하면 실수형 결과가 나옵니다.
몇몇의 앞선 문제와 같이 이 문제에서도 소수점 자리 수를 제한해서 출력해야 됩니다.
만약, 총점을 계산한 실제값이 70과 같이 딱 맞아떨어지더라도,
70.0으로 소수 첫째 자리까지 출력해야 합니다.
생각한 풀이 과정
- readline을 사용하기 위해 import 합니다.
- 중간고사 반영비율, 중간고사 점수를 공백으로 구분해 입력합니다. 각각 실수형으로 변환하고, 변수 midterm_ratio, midterm_score에 넣어줍니다.
- 기말고사 반영비율, 기말고사 점수를 공백으로 구분해 입력합니다. 각각 실수형으로 변환하고, 변수 finals_ratio, finals_score에 넣어줍니다.
- 수행평가 반영비율, 수행평가 점수를 공백으로 구분해 입력합니다. 각각 실수형으로 변환하고, 변수 perform_ratio, perform_score에 넣어줍니다.
- (중간고사 반영비율) X (중간고사 점수) + (기말고사 반영비율) X (기말고사 점수) + (수행평가 반영비율) X (수행평가 점수)를 계산하여 총점을 구한 뒤, 변수 total에 넣어줍니다.
- 총점인 total의 값을 소수 첫째 자리까지 출력합니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 중간고사 반영비율, 중간고사 점수를 공백으로 구분해 입력합니다.
# 각각 실수형으로 변환합니다.
midterm_ratio, midterm_score = map(float, stdin.readline().split())
# 기말고사 반영비율, 기말고사 점수를 공백으로 구분해 입력합니다.
# 각각 실수형으로 변환합니다.
finals_ratio, finals_score = map(float, stdin.readline().split())
# 수행평가 반영비율, 수행평가 점수를 공백으로 구분해 입력합니다.
# 각각 실수형으로 변환합니다.
perform_ratio, perform_score = map(float, stdin.readline().split())
# 각 점수들은 정수형으로 입력하는데, 어차피 실수형인 반영비율과 곱해야하므로
# 그냥 실수형으로 변환한 것입니다.
# 각 점수와 점수에 해당하는 반영비율로 총 점수를 계산합니다.
total = midterm_ratio * midterm_score + finals_ratio * finals_score + perform_ratio * perform_score
# 총 점수를 소수 첫째 자리까지 출력합니다.
print('%.1f' % total)
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글