[Haskell] CodeWars|Printer Errors
2017-10-03 10:27
435 查看
https://www.codewars.com/kata/56541980fa08ab47a0000040/train/haskell
打印机使用的这些颜料被记录在一个控制字符串里。比如一个好的控制字符串可以是”aaabbbbhaijjjm”,表示打印机会用3次a颜料,4次b颜料,1次h颜料,又一次a颜料……
有时候打印机会遇到缺少颜料、技术故障或一个不好的控制字符串(比如”aaaxbbbbyyhwawiwjjjwwm”)等问题,
你需要写一个函数
输入的控制字符串只会包含26个小写字母。
我的码力见长啦(其实在Java里面写过这种程序。。)
题目大意
输入一个只由小写字母构成的字符串,输出一个分数表示字符串里出现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)
相关文章推荐
- [Haskell] CodeWars|Vowel Count
- [Haskell] CodeWars|Find the middle element
- [Haskell] CodeWars|Your order, please
- [Haskell] CodeWars|Sum of odd numbers
- [Haskell] CodeWars|Build a pile of Cubes
- [Haskell] CodeWars|Who likes it?
- [Haskell] CodeWars|Sum of Digits
- [Haskell] CodeWars|Bouncing Balls
- [Haskell] CodeWars|Integers: Recreation One
- [Haskell] CodeWars|Growth of a Population
- Mac上的Haskell入门
- [Codewars]-Explosive Sum(递归法和动态规划法)
- 很有意思的函数型语言Haskell
- haskell的世界观(4)
- 函数式语言Haskell
- Mozart OZ计算机编程语言有你想要的几乎全部特性,本身有haskell,lisp,prolog,c,perl,java等语言的影子,(本帖以后续会连载)
- Haskell与Python中的一些概念,若有所悟
- [Haskell] ex3
- Yesod is a Haskell web framework
- 昨天内部haskell freetalk的ppt和源码