[Haskell] CodeWars|Printer Errors

来源:互联网 发布:js组合sophia病逝 编辑:程序博客网 时间:2024/06/07 01:09

https://www.codewars.com/kata/56541980fa08ab47a0000040/train/haskell

题目大意

输入一个只由小写字母构成的字符串,输出一个分数表示字符串里出现n到z的频率。

题目翻译

工厂里有个打印机可以为纸箱打印标签。对于一种箱子,打印机必须使用一些颜料,为方便起见,这些颜料用字母a到m表示。

打印机使用的这些颜料被记录在一个控制字符串里。比如一个好的控制字符串可以是”aaabbbbhaijjjm”,表示打印机会用3次a颜料,4次b颜料,1次h颜料,又一次a颜料……

有时候打印机会遇到缺少颜料、技术故障或一个不好的控制字符串(比如”aaaxbbbbyyhwawiwjjjwwm”)等问题,

你需要写一个函数printerError,输入一个控制字符串,输出一个分数,分子为这个字符串有几个错误的字符,分母为这个字符串的长度,以表示这个字符串的出错率。注意结果不要约分。

输入的控制字符串只会包含26个小写字母。

样例

s="aaabbbbhaijjjm"error_printer(s) => "0/14"s="aaaxbbbbyyhwawiwjjjwwm"error_printer(s) => "8/22"

题解

没啥好说的。。我翻译得好辛苦的!!!
我的码力见长啦(其实在Java里面写过这种程序。。)

printerError :: [Char] -> [Char]printerError s = show (length (filter (> 'm') s)) ++ "/" ++ show (length s)
原创粉丝点击