6 kyu

Easy Balance Checking

837 of 2,974g964

Description:

You are given a (small) check book as a - sometimes - cluttered (by non-alphanumeric characters) string:

"1000.00
125 Market 125.45
126 Hardware 34.95
127 Video 7.45
128 Book 14.32
129 Gasoline 16.10"

The first line shows the original balance. Each other line (when not blank) gives information: check number, category, check amount. (Input form may change depending on the language).

First you have to clean the lines keeping only letters, digits, dots and spaces.

Then return a report as a string (underscores show spaces -- don't put them in your solution. They are there so you can see them and how many of them you need to have):

"Original_Balance:_1000.00
125_Market_125.45_Balance_874.55
126_Hardware_34.95_Balance_839.60
127_Video_7.45_Balance_832.15
128_Book_14.32_Balance_817.83
129_Gasoline_16.10_Balance_801.73
Total_expense__198.27
Average_expense__39.65"

On each line of the report you have to add the new balance and then in the last two lines the total expense and the average expense. So as not to have a too long result string we don't ask for a properly formatted result.

Notes

  • See input examples in Sample Tests.
  • It may happen that one (or more) line(s) is (are) blank.
  • Round to 2 decimals your calculated results (Elm: without traling 0)
  • The line separator of results may depend on the language \n or \r\n. See examples in the "Sample tests".
  • R language: Don't use R's base function "mean()" that could give results slightly different from expected ones.
Fundamentals
Strings

More By Author:

Check out these other kata created by g964

Stats:

CreatedOct 6, 2017
PublishedOct 6, 2017
Warriors Trained11266
Total Skips782
Total Code Submissions32225
Total Times Completed2974
Shell Completions38
Python Completions837
JavaScript Completions1095
Ruby Completions125
Java Completions404
Julia Completions9
Scala Completions28
R Completions11
PowerShell Completions23
Go Completions93
Nim Completions4
PHP Completions90
Rust Completions74
C# Completions116
Clojure Completions13
Racket Completions4
TypeScript Completions79
F# Completions10
Kotlin Completions43
Pascal Completions2
Perl Completions9
Elm Completions2
D Completions3
Prolog Completions4
Total Stars207
% of votes with a positive feedback rating77% of 542
Total "Very Satisfied" Votes364
Total "Somewhat Satisfied" Votes102
Total "Not Satisfied" Votes75
Total Rank Assessments5
Average Assessed Rank
6 kyu
Highest Assessed Rank
6 kyu
Lowest Assessed Rank
7 kyu
Ad
Contributors
  • g964 Avatar
  • anter69 Avatar
  • imjasonmiller Avatar
  • kazk Avatar
  • ZED.CWT Avatar
  • hobovsky Avatar
  • user8436785 Avatar
  • Just4FunCoder Avatar
  • saudiGuy Avatar
Ad