Posts

Showing posts with the label Python

Compress the string in Python - HackerRank solution

Solution for hackerRank problem Compress the string in python Problem : In this task, we would like for you to appreciate the usefulness of the  groupby()  function of  itertools  .  You are given a string S. Suppose a character 'c' occurs consecutively X times in the string. Replace these consecutive occurrences of the character 'c' with (X,c) in the string. For a better understanding of the problem, check the explanation. Input Format A single line of input consisting of the string S. Output Format A single line of output consisting of the modified string. Constraints All the characters of S denote integers between 0 and 9. 1 <= |S| <=  10 4 . Sample Input 1222311 Sample Output (1, 1) (3, 2) (1, 3) (2, 1) Explanation First, the character 1 occurs only once. It is replaced by (1, 1). Then the character 2 occurs three times, and it is replaced by (3, 2) and so on. Also, note the single space within each compression and between the compressions. Code from itertools

Introduction to sets in Python - HackerRank solution

Solution for hackerRank problem Find a string in python Problem : A  set  is an unordered collection of elements without duplicate entries. When printed, iterated or converted into a sequence, its elements will appear in an arbitrary order. >>> print set() set([]) >>> print set('HackerRank') set(['a', 'c', 'e', 'H', 'k', 'n', 'r', 'R']) >>> print set([1,2,1,2,3,4,5,6,0,9,12,22,3]) set([0, 1, 2, 3, 4, 5, 6, 9, 12, 22]) >>> print set((1,2,3,4,5,5)) set([1, 2, 3, 4, 5]) >>> print set(set(['H','a','c','k','e','r','r','a','n','k'])) set(['a', 'c', 'r', 'e', 'H', 'k', 'n']) >>> print set({'Hacker' : 'DOSHI', 'Rank' : 616 }) set(['Hacker', 'Rank']) >>> print set(enumerate(['H',&#

String validators in python - HackerRank solution

Solution for hackerRank problem String validators in python Problem : Python has built-in string validation methods for basic data. It can check if a string is composed of alphabetical characters, alphanumeric characters, digits, etc. str.isalnum() This method checks if all the characters of a string are alphanumeric (a-z, A-Z, and 0-9). >>> print 'ab123'.isalnum() True >>> print 'ab123#'.isalnum() False str.isalpha() This method checks if all the characters of a string are alphabetical (a-z and A-Z). >>> print 'abcD'.isalpha() True >>> print 'abcd1'.isalpha() False str.isdigit() This method checks if all the characters of a string are digits (0-9). >>> print '1234'.isdigit() True >>> print '123edsd'.isdigit() False str.islower() This method checks if all the characters of a string are lowercase characters (a-z). >>> print 'abcd123#'.islower() True >>> print &

Word Order in Python - HackerRank solution

Solution for hackerRank problem Word order in python Problem : You are given n words. Some words may repeat. For each word, output its number of occurrences. The output order should correspond with the input order of appearance of the word. See the sample input/output for clarification. Note: Each input line ends with a "\n" character. Constraints: 1 <= n <=  10 5 . The sum of the lengths of all the words do not exceed  10 6 . All the words are composed of lowercase English letters only. Input Format The first line contains the integer, n . The next n lines each contain a word. Output Format Output  2 lines. On the first line, output the number of distinct words from the input. On the second line, output the number of occurrences for each distinct word according to their appearance in the input. Sample Input 4 bcdef abcdefg bcde bcdef Sample Output 3 2 1 1 Explanation There are 3 distinct words. Here,  "bcdef"  appears twice in the input at the first and last