CodeWars Python Question
ExesOhs
#https://www.codewars.com/kata/55908aad6620c066bc00002a
def xo(s):
xlst = [x for x in s if x.lower() == 'x']
olst = [x for x in s if x.lower() == 'o']
return len(xlst) == len(olst)
UniqueInOrder
#https://www.codewars.com/kata/54e6533c92449cc251001667
def unique_in_order(iterable):
ans = []
for x in iterable:
if len(ans) == 0 or x != ans[-1]:
ans.append(x)
return ans
DuplicateEncoder
#https://www.codewars.com/kata/54b42f9314d9229fd6000d9c
def duplicate_encode(word):
#your code here
dic = {}
word = word.lower()
for x in word:
dic[x] = word.count(x)
ans = ""
for x in word:
if dic[x] == 1:
ans+="("
else:
ans+=")"
return ans
MostDigits
#https://www.codewars.com/kata/58daa7617332e59593000006
def find_longest(arr):
return max(arr,key = lambda x : len(str(x)))
Dashatizeit
#https://www.codewars.com/kata/58223370aef9fc03fd000071
def dashatize(num):
numstr = str(num)
for x in ['1','3','5','7','9']:
numstr = numstr.replace(x,'-'+x+'-')
return numstr.strip('-').replace('--','-')
ArrayDiff
#https://www.codewars.com/kata/523f5d21c841566fde000009
def array_diff(a, b):
return [x for x in a if x not in b]
SortedYesnoshow
#https://www.codewars.com/kata/580a4734d6df748060000045
def is_sorted_and_how(arr):
asc = sorted(arr)
desc = sorted(arr,reverse=True)
if asc == arr:
return "yes, ascending"
elif desc == arr:
return "yes, descending"
else:
return "no"
RemoveStringSpace
#https://www.codewars.com/kata/57eae20f5500ad98e50002c5
def no_space(x):
return ''.join(x.split())
Maximumsubarraysum
#https://www.codewars.com/kata/54521e9ec8e60bc4de000d6c
def maxSequence(arr):
# ...
alen = len(arr)
if alen == 0:
return 0
negative = [x for x in arr if x < 0]
lennegative = len(negative)
if lennegative == alen:
return 0
maxsum = -1000
cursum = 0
for i in range(alen):
cursum+=arr[i]
if cursum>maxsum:
maxsum = cursum
if cursum <= 0 :
cursum = 0
return maxsum
LinkedLists
#https://www.codewars.com/kata/55beec7dd347078289000021
class Node(object):
def __init__(self, data):
self.data = data
self.next = None
def length(node):
count = 0
if node == None:
return count
nt = node
while nt != None:
count+=1
nt = nt.next
return count
def count(node, data):
count = 0
if node == None:
return count
nt = node
while nt != None:
if nt.data == data:
count+=1
nt = nt.next
return count
JadenCasingStrings
#https://www.codewars.com/kata/5390bac347d09b7da40006f6
def toJadenCase(string):
return " ".join([x.capitalize() for x in string.split()])
HighestAndLowest
#https://www.codewars.com/kata/554b4ac871d6813a03000035
def high_and_low(numbers):
# ...
lst = numbers.split()
valuelst = [int(x) for x in lst]
maxvalue = max(valuelst)
minvalue = min(valuelst)
strlst = [str(maxvalue),str(minvalue)]
numbers = ' '.join(strlst)
return numbers
BuildAPileOfCubes
#https://www.codewars.com/kata/5592e3bd57b64d00f3000047
from math import sqrt,floor
def find_nb(m):
n = int( floor(sqrt(2*sqrt(m))) )
if (n*(n+1)/2)**2 == m:
return n
else:
return -1
ConvertNumberToReversedArrayOfDigits
#https://www.codewars.com/kata/5583090cbe83f4fd8c000051
def digitize(n):
newstr = str(n)
newstr = newstr[::-1]
return [int(x) for x in newstr]
CreditCardMask
#https://www.codewars.com/kata/5412509bd436bd33920011bc
def maskify(cc):
strlen = len(cc)
if strlen <= 4:
return cc
ans = '#'*(strlen-4)
ans += cc[-4:]
return ans
DetectPangram
#https://www.codewars.com/kata/545cedaa9943f7fe7b000048
import string
def is_pangram(s):
lst = [x.lower() for x in s if x.isalpha()]
alphatable = set(lst)
if len(alphatable) == 26:
return True
else:
return False