Problem Statement
Your task is, given a
Definition
- Class:
- Etiquette
- Method:
- numNonGent
- Parameters:
- String
- Returns:
- int
- Method signature:
- int numNonGent(String people)
- (be sure your method is public)
Notes
- Gaps between groups are assumed to be long enough. Hence, a gentleman who goes up the stairs later than a lady from a previous group doesn't necessarily count as not being a true gentleman (his status depends on his position relative the ladies in his own group).
Constraints
- people will consist only of the characters 'L', 'G' and ' ' (space)
- people will have between 0 and 50 characters inclusive
Examples
"LGG"
Returns: 2
"GGL LGG"
Returns: 2
"GLL LL GG G GGLL"
Returns: 0
""
Returns: 0
"LLL GGG"
Returns: 0
"LGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"
Returns: 49
"L L L L L G G G G G L L L L L G G G G G L L L L L"
Returns: 0
"LLLLLGGGGG LLLLLGGGGG LLLLLGGGGGGGGGG"
Returns: 20
"LLL LLLLLGGGGG GGGGGLLLLLGGGGGLLLLL"
Returns: 10
"GGGGGLLLLLGGGGG"
Returns: 5
"GLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGLGL"
Returns: 24
" GLL LL GG LG GGLL"
Returns: 1
"LL GG GLG GGL LG LG GL"
Returns: 3
The first two groups consist of people of one gender, so there is no way to check if they know rules, hence we do not count anyone here. In the third group one gentleman doesn't know the exception rule, hence we count one non-true gentleman here. In the fourth group both gentlemen are true gentlemen, so we add zero here. In the fifth the gentleman is not a true gentleman, so we add one. The sixth group is the same as the fifth group, so we add one more. In the last group the gentleman is a true gentleman, so we do not count him.
"L GLGGGGGGGGGG LLGLLL L LLG G G LGG L GL G GL"
Returns: 14
ten random test cases
"LGLG GLLG G L GGLL G L G GL GG LGL G GGLGGLGLGG"
Returns: 9
"GG GG GLG LGGLLLGLLGLLL GGGGLGG GG L GGG GLG L "
Returns: 8
"GLGLGL LG LGG L L LG G GL G LGG LGG G L G LLLG"
Returns: 11
"G GL L GL G GGLL L G G LLGGGL LGLLLGGG L GGLGL G"
Returns: 8
"G GL L GL G GGLL L G G LLGGGL LGLLLGGG L GGLGL G"
Returns: 8
"L L L LG GGGGGG LLLGLLL G LLLGLLLLLLLGLG LLG L"
Returns: 6
" GLGLLL G L LLG L L GLLLL L L L LLLGGGG G "
Returns: 6
"LGLLLLL GGGG GL GG GGLLGL GL GL GGG GLLLLL "
Returns: 2
" LLLGL L G G G LG L LLGL L G LLGGLGLL GL"
Returns: 6
"LGGGG LGGG LGGG "
Returns: 10
"GL"
Returns: 0
"LGGGGGG"
Returns: 6
"LLGLGG"
Returns: 3
"LGGGLGL"
Returns: 4
"LGLG"
Returns: 2
"LGLG LGLG LGLG LGLG LGLG LGLG LGLG LGLG LGLG LGLG "
Returns: 20
"LGLGLGLGLGLGLGLG"
Returns: 8
"LGLLLLLLL GGLLLLLL"
Returns: 1
"GLG GGLGLLLGLL LGLG LGLGLGLLGG GG LL GLG"
Returns: 11
"LGLGLGLGLG"
Returns: 5
"GLG"
Returns: 1
"LGLGLG"
Returns: 3
"LGGLG LLGLL GGLLLGG"
Returns: 6
"LLLGGGGG LGLGLG GLGLGL"
Returns: 10
"GGLLGGGGGLGGGG"
Returns: 9
"LGG GLLG GGLL"
Returns: 3
"LGL"
Returns: 1
"LGGLG"
Returns: 3
"LGLGLGG"
Returns: 4
"LGGG GLLGG LLLGGG"
Returns: 8
"LGGGG LGGG LGGG "
Returns: 10
"GL"
Returns: 0
"LGGGGGG"
Returns: 6
"LLGLGG"
Returns: 3
"LGGGLGL"
Returns: 4
"LGLG"
Returns: 2
"LGLG LGLG LGLG LGLG LGLG LGLG LGLG LGLG LGLG LGLG "
Returns: 20
"LGLGLGLGLGLGLGLG"
Returns: 8
"LGLLLLLLL GGLLLLLL"
Returns: 1
"GLG GGLGLLLGLL LGLG LGLGLGLLGG GG LL GLG"
Returns: 11
"LGLGLGLGLG"
Returns: 5
"GLG"
Returns: 1
"LGLGLG"
Returns: 3
"LGGLG LLGLL GGLLLGG"
Returns: 6
"LLLGGGGG LGLGLG GLGLGL"
Returns: 10
"GGLLGGGGGLGGGG"
Returns: 9
"LGG GLLG GGLL"
Returns: 3
"LGL"
Returns: 1
"LGGLG"
Returns: 3
"LGLGLGG"
Returns: 4
"LGGG GLLGG LLLGGG"
Returns: 8