aboutsummaryrefslogtreecommitdiff
path: root/challenge-194/deadmarshal/lua/ch-2.lua
blob: 2f4d85d1f46476e870018605dd550672edd7b901 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
local function frequency_equalizer(str)
  local t,vals = {},{}
  setmetatable(t,{__index = function(t,k) return 0 end})
  for i=1, #str do
    local c = str:sub(i,i)
    t[c] = t[c] + 1
  end
  for k,v in pairs(t) do vals[#vals+1] = v end
  table.sort(vals,function(a,b) return a > b end)
  if vals[1] == vals[2]+1 and vals[#vals] == vals[2] then
    return true
  end
  return false
end

print(frequency_equalizer('abbc'))
print(frequency_equalizer('xyzyyxz'))
print(frequency_equalizer('xzxz'))