aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Lynn <bizlsg@localhost.localdomain>2022-12-10 12:50:06 +0800
committerStephen Lynn <bizlsg@localhost.localdomain>2022-12-10 12:50:06 +0800
commit8823eed6e8af52286a712ed97c02088ce3d53a65 (patch)
tree2ea896abc17d35aebda22ccaa84db8d549c1c3ef
parent7a2923647f16683b31671f10d767e5cf865ca9c7 (diff)
downloadperlweeklychallenge-club-8823eed6e8af52286a712ed97c02088ce3d53a65.tar.gz
perlweeklychallenge-club-8823eed6e8af52286a712ed97c02088ce3d53a65.tar.bz2
perlweeklychallenge-club-8823eed6e8af52286a712ed97c02088ce3d53a65.zip
ch-2.jl
-rwxr-xr-xchallenge-194/steve-g-lynn/julia/ch-2.jl32
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-194/steve-g-lynn/julia/ch-2.jl b/challenge-194/steve-g-lynn/julia/ch-2.jl
new file mode 100755
index 0000000000..41f484c007
--- /dev/null
+++ b/challenge-194/steve-g-lynn/julia/ch-2.jl
@@ -0,0 +1,32 @@
+#!/usr/bin/env julia
+
+function frequency_equalizer(s::String ) ::Bool
+
+ d_s = Dict()
+
+ for i in s
+ d_s[i]=0
+ end
+
+ for i in s
+ d_s[i] += 1
+ end
+
+
+ v_s=Vector( sort!(unique(values(d_s))) )
+
+ if ( (length(v_s) <= 2) &&
+ ( (v_s[1] == 1) ||
+ ( length(v_s) > 1 && (abs(v_s[2] - v_s[1]) == 1)) ) )
+ return true
+ end
+
+ return false
+end
+
+println( frequency_equalizer("abbc") ) #true
+println( frequency_equalizer("xyzyyxz") ) #true
+println( frequency_equalizer("xzxz") ) #false
+println( frequency_equalizer("abcde") ) #true
+println( frequency_equalizer("abbbccc") ) #true
+