Determine if a string is collapsible: Difference between revisions
Content added Content deleted
(add RPL) |
(FutureBasic solution added) |
||
Line 1,584: | Line 1,584: | ||
collapsed: length = 6, string = «««😍😀🙌💃😍🙌»»» |
collapsed: length = 6, string = «««😍😀🙌💃😍🙌»»» |
||
</pre> |
</pre> |
||
=={{header|FutureBasic}}== |
|||
<syntaxhighlight lang="futurebasic"> |
|||
local fn CollapseString( inString as CFStringRef ) as CFStringRef |
|||
CFMutableStringRef outString = fn MutableStringWithCapacity(0) |
|||
long index |
|||
unichar prevChar = 0, currChar |
|||
for index = 0 to len(inString) - 1 |
|||
currChar = fn StringCharacterAtIndex( inString, index ) |
|||
if ( currChar != prevChar ) then MutableStringAppendFormat( outString, @"%C", currChar ) |
|||
prevChar = currChar |
|||
next |
|||
end fn = outString |
|||
window 1, @"Collapse String", (0,0,600,300) |
|||
CFStringRef string, collapsedString |
|||
string = @"" |
|||
collapsedString = fn CollapseString( string ) |
|||
printf @"<<<%@>>> %ld\n<<<%@>>> %ld\n",string,len(string),collapsedString,len(collapsedString) |
|||
string = @"\"If I were two-faced, would I be wearing this one?\" --- Abraham Lincoln " |
|||
collapsedString = fn CollapseString( string ) |
|||
printf@"<<<%@>>> %ld\n<<<%@>>> %ld\n",string,len(string),collapsedString,len(collapsedString) |
|||
string = @"..1111111111111111111111111111111111111111111111111111111111111117777888" |
|||
collapsedString = fn CollapseString( string ) |
|||
printf@"<<<%@>>> %ld\n<<<%@>>> %ld\n",string,len(string),collapsedString,len(collapsedString) |
|||
string = @"I never give 'em hell, I just tell the truth, and they think it's hell. " |
|||
collapsedString = fn CollapseString( string ) |
|||
printf@"<<<%@>>> %ld\n<<<%@>>> %ld\n",string,len(string),collapsedString,len(collapsedString) |
|||
string = @" --- Harry S Truman " |
|||
collapsedString = fn CollapseString( string ) |
|||
printf@"<<<%@>>> %ld\n<<<%@>>> %ld\n",string,len(string),collapsedString,len(collapsedString) |
|||
string = @"\"AAAAAll that glitters is not goldDDDD.\" - William Shakespeare" |
|||
collapsedString = fn CollapseString( string ) |
|||
printf@"<<<%@>>> %ld\n<<<%@>>> %ld\n",string,len(string),collapsedString,len(collapsedString) |
|||
HandleEvents |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
<<<>>> 0 |
|||
<<<>>> 0 |
|||
<<<"If I were two-faced, would I be wearing this one?" --- Abraham Lincoln >>> 72 |
|||
<<<"If I were two-faced, would I be wearing this one?" - Abraham Lincoln >>> 70 |
|||
<<<..1111111111111111111111111111111111111111111111111111111111111117777888>>> 72 |
|||
<<<.178>>> 4 |
|||
<<<I never give 'em hell, I just tell the truth, and they think it's hell. >>> 72 |
|||
<<<I never give 'em hel, I just tel the truth, and they think it's hel. >>> 69 |
|||
<<< --- Harry S Truman >>> 72 |
|||
<<< - Hary S Truman >>> 17 |
|||
<<<"AAAAAll that glitters is not goldDDDD." - William Shakespeare>>> 62 |
|||
<<<"Al that gliters is not goldD." - Wiliam Shakespeare>>> 52 |
|||
</pre> |
|||
=={{header|Groovy}}== |
=={{header|Groovy}}== |
||
{{trans|Java}} |
{{trans|Java}} |