hackerrank string exercise

This commit is contained in:
anebz 2019-04-04 16:41:32 +02:00
parent 4725533380
commit cd0523bb80
1 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,46 @@
# Algorithms > Strings > Mars Exploration
# https://www.hackerrank.com/challenges/mars-exploration
import unittest
import numpy as np
''' O(n), O(n)
def difference(s):
inputs = 'SOS' * int(len(s)/3)
if s is inputs:
return 0
count = 0
for a, b in zip(inputs, s):
if a != b:
count += 1
return count
'''
# O(n/3), O(1)
def difference(s):
count = 0
for i in range(0, len(s), 3):
if s[i] != 'S':
count += 1
if s[i+1] != 'O':
count += 1
if s[i+2] != 'S':
count += 1
return count
class Test(unittest.TestCase):
data = [('SOS', 0),
('SOA', 1),
('SOSSASSEDAAA', 6)]
def test(self):
for test_string in self.data:
res = difference(test_string[0])
self.assertEqual(res, test_string[1])
if __name__ == "__main__":
unittest.main()