itertools.combinations() in Python - HackerRank Solution
Problem :
This tool returns the r length subsequences of elements from the input iterable.
Combinations are emitted in lexicographic sorted order. So, if the input
iterable is sorted, the combination tuples will be produced in sorted order.
Sample Code :
>>> from itertools import combinations >>> >>> print list(combinations('12345',2)) [('1', '2'), ('1', '3'), ('1', '4'), ('1', '5'), ('2', '3'), ('2', '4'), ('2', '5'), ('3', '4'), ('3', '5'), ('4', '5')] >>> >>> A = [1,1,3,3,3] >>> print list(combinations(A,4)) [(1, 1, 3, 3), (1, 1, 3, 3), (1, 1, 3, 3), (1, 3, 3, 3), (1, 3, 3, 3)]
Task :
Your task is to print all possible combinations, up to size k, of the string
in lexicographic sorted order.
Input Format :
A single line containing the string S and integer value k separated by a
space.
Constraints :
- 0 < k <= len(S)
The string contains only UPPERCASE characters.
Output Format :
Print the different combinations of string S on separate lines.
Sample Input :
HACK 2
Sample Output :
A C H K AC AH AK CH CK HK
Solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 | # itertools.combinations() in Python - Hacker Rank Solution # Python 3 # Enter your code here. Read input from STDIN. Print output to STDOUT # itertools.combinations() in Python - Hacker Rank Solution START from itertools import combinations io = input().split() S = io[0] k = int(io[1]) for i in range(1,k+1): for j in combinations(sorted(S),i): print("".join(j)) # itertools.combinations() in Python - Hacker Rank Solution END |
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.
https://github.com/JaskaranKaurGill/HackerRank/blob/master/itertools.combinations()
from itertools import combinations
word, count = input().split()
out = []
for i in range(1, int(count)+1): out.extend(list(combinations(sorted(word), i)))
for i in out: print(''.join(i))
io = input().split()
S = io[0]
k = int(io[1])
for i in range(1,int(k)+1):
for j in list(combinations(sorted(S),i)):
print("".join(j))