Python, 338 bytes
534 bytes:
This is not golfed in any way. But it's the current winner!
def validate_roman_numeral(candidate):
invalid_strings = ["CCCC", "CCD", "CCM", "CDC", "CMC", "CMD",...
Bash, 53 bytes
sed 's/\(.\)/\1\n/g' /dev/stdin|uniq -c|grep -c '1 1'
Add a newline after each character.
Count the number of characters in each group with uniq
Count the number of groups wi...