ARC003 問題A GPA計算
問題文
高橋君はアメリカに留学しようと考えており、成績表を提出することになりました。
アメリカ留学の成績表には、学力を測る指標であるGPAを表記する必要があります。
GPAとは各単位に対する評価(A,B,C,D,F)を点数に換算して平均した値で、点数への換算は以下のようになります。
A評価 → 4 点
B評価 → 3 点
C評価 → 2 点
D評価 → 1 点
F評価 → 0 点
全てF評価だった場合は、GPAは 0 になります。
高橋君の各単位に対する評価をもとにGPAを求めなさい。
解答
main = do getLine grade <- getLine print $ mean $ map gradeToScore grade gradeToScore :: Char -> Double gradeToScore 'A' = 4 gradeToScore 'B' = 3 gradeToScore 'C' = 2 gradeToScore 'D' = 1 gradeToScore _ = 0 mean :: [Double] -> Double mean xs = (sum xs) / (fromIntegral $ length xs)