본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python] 1127번 : 성적 계산

by 빛밤하늘 2021. 8. 16.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

문제는 링크를 통해서 직접 봐주시길 바랍니다.

 

성적 계산

 결과를 실수로 출력하되 소수 첫째 자리까지 출력한다.

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

이 문제에서 사용한 map을 사용한 입력 방식은 정말 많이 사용하는 입력 방식입니다.

이해하고 거의 외운 것 마냥 써봅시다.

 

실수형 값과 정수형 값을 연산하면 실수형 결과가 나옵니다.

 

몇몇의 앞선 문제와 같이 이 문제에서도 소수점 자리 수를 제한해서 출력해야 됩니다.

만약, 총점을 계산한 실제값이 70과 같이 딱 맞아떨어지더라도,

70.0으로 소수 첫째 자리까지 출력해야 합니다.

 

 

 

생각한 풀이 과정

  1. readline을 사용하기 위해 import 합니다.
  2. 중간고사 반영비율, 중간고사 점수를 공백으로 구분해 입력합니다. 각각 실수형으로 변환하고, 변수 midterm_ratio, midterm_score에 넣어줍니다.
  3. 기말고사 반영비율, 기말고사 점수를 공백으로 구분해 입력합니다. 각각 실수형으로 변환하고, 변수 finals_ratio, finals_score에 넣어줍니다.
  4. 수행평가 반영비율, 수행평가 점수를 공백으로 구분해 입력합니다. 각각 실수형으로 변환하고, 변수 perform_ratio, perform_score에 넣어줍니다.
  5. (중간고사 반영비율) X (중간고사 점수) + (기말고사 반영비율) X (기말고사 점수) + (수행평가 반영비율) X (수행평가 점수)를 계산하여 총점을 구한 뒤, 변수 total에 넣어줍니다.
  6. 총점인 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)

 

 

 

제출 결과

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글