Skip to content

Instantly share code, notes, and snippets.

@rioshen
Last active August 29, 2015 14:01
Show Gist options
  • Save rioshen/5627e45cc406e11c63e3 to your computer and use it in GitHub Desktop.
Save rioshen/5627e45cc406e11c63e3 to your computer and use it in GitHub Desktop.
CodingBat.com, python solutions.
#!/usr/bin/env python
__author__ = 'Rio'
def sleep_in(weekday, vacation):
return True if not weekday or vacation else False
def monkey_trouble(a_smile, b_smile):
return a_smile == b_smile
def sum_double(a, b):
return a + b if a != b else (a + b) * 2
def diff21(n):
return abs(n - 21) if n < 21 else 2 * abs(n - 21)
def count_evens(nums):
return len([val for val in nums if val % 2 == 0])
def big_diff(nums):
return max(nums) - min(nums)
def centered_average(nums):
n, mid = len(nums), len(nums) // 2
nums.sort()
if n % 2 != 0:
return nums[mid]
else:
return (nums[mid - 1] + nums[mid]) // 2
def near_hundred(n):
return True if abs(n - 100) <= 10 or abs(n - 200) <= 10 else False
def pos_neg(a, b, negative):
return a < 0 and b < 0 if negative else a * b < 0
def not_string(str):
return str if str.startswith('not') else 'not ' + str
def makes10(a, b):
return True if a == 10 or b == 10 or a + b == 10 else False
def missing_char(str, n):
return str[:n] + str[n + 1:]
def front_back(str):
return str[-1] + str[1:-1] + str[0] if len(str) > 1 else str
def front3(str):
return str[:3] * 3 if len(str) >= 3 else str * 3
def string_times(str, n):
return str * n
def front_times(str, n):
return str[:3] * n if len(str) >= 3 else str * n
def string_bits(str):
return ''.join([str[i] for i in range(len(str)) if i % 2 == 0])
def string_splosion(str):
return ''.join([str[:i] for i in range(len(str)+1)])
def last2(str):
if len(str) < 2: return 0
count, last = 0, str[-2:]
for i in range(len(str) - 2):
sub = str[i: i+2]
if sub == last: count += 1
return count
def string_match(a, b):
count, length = 0, min(len(a), len(b))
for i in xrange(length-1):
if a[i] == b[i] and a[i+1] == b[i+1]: count += 1
return count
def array_count9(nums):
return len([val for val in nums if val == 9])
def array_front9(nums):
return 9 in nums and nums.index(9) <= 3
def first_last6(nums):
return nums[0] == 6 or nums[-1] == 6
def array123(nums):
return '123' in ''.join(map(str, nums))
def hello_name(name):
return 'Hello ' + name + '!'
def make_abba(a, b):
return a + b * 2 + a
def make_tags(tag, word):
return '<{0}>{1}</{0}>'.format(tag, word)
def make_out_word(out, word):
return '{0}{1}{2}'.format(out[:2], word, out[2:])
def extra_end(str):
if len(str) >= 2: return str[-2:] * 3
def first_two(str):
return str[:2] if len(str) >= 2 else str
def first_half(str):
return str[:len(str)//2]
def without_end(str):
return str[1:-1] if len(str) > 2 else ''
def combo_string(a, b):
return a+b+a if len(a) < len(b) else b+a+b
def non_start(a, b):
if len(a) >= 1 and len(b) >= 1:
return a[1:]+b[1:]
def left2(str):
return str[2:]+str[:2] if len(str) > 2 else str
def sum3(nums):
return sum(nums)
def same_first_last(nums):
return nums[0] == nums[-1] if len(nums) >= 1 else False
def common_end(a, b):
return a[0] == b[0] or a[-1] == b[-1]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment