Hyphenated
SRM 202 · 2004-07-07 · by lbackstrom
Problem Statement
We define a "word" to be a maximal sequence of letters ('A'-'Z' and/or 'a-z') within a single line. (Maximal means that if 2 letters are adjacent within a line, they are in the same word.) But if a line ends with a sequence of one or more letters immediately followed by a hyphen ('-') and the next line starts with a sequence of one or more letters, all these letters are considered to be in the same word. It is even possible that a hyphenated word could extend across several lines (see Example 2).
Create a class Hyphenated that contains a method avgLength that is given a
Notes
- A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.
Constraints
- lines will contain between 1 and 50 elements inclusive.
- Each element of lines will contain between 1 and 50 characters inclusive.
- Each character in each element of lines will be a letter ('A-'Z' or 'a'-'z') or will be one of these: ' ', '-', '.'
- At least one element of lines will contain a letter.
{" now is the ex-", "ample. "}
Returns: 3.75
There are 4 words: now, is, the, example
{" now is the ex-", " ample. "}
Returns: 3.0
There are 5 words: now, is, the, ex, ample Note that the leading blank prevents the joining of ex and ample. Also note that words only consist of letters, so the hyphen is never a part of a word.
{"inter-","national-","ization.."}
Returns: 20.0
There is only one word.
{"All the time I have well-defined "," trouble."}
Returns: 4.125
Note that well-defined consists of 2 separate words.
{"...-","all...some-","thing- "," ","b.i. .g"}
Returns: 3.0
Submissions are judged against all 65 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Language: C++17 · define a public class Hyphenated with a public method double avgLength(vector<string> lines) · 65 test cases · 2 s / 256 MB per case