## Merge the Tools! - Python HackerRank Solution

Hello Friends, How are you? Today I am going to solve the

**HackerRank Merge the Tools! A problem in Python**with a very easy explanation. In this article, you will get more than one approach to solving this problem. So let's start-**{tocify} $title={Table of Contents}**

### HackerRank Python Merge the Tools Solution - Problem Statement

Consider the following:

A string, s, of length n where s = c0c1. . . . cn-1.

An integer, k, where k is a factor of n.

We can split s into n/k substrings where each substring, ti, consists of a contiguous block of k characters in s. Then, use each ti to create string ui such that:

The characters in ui are a subsequence of the characters in ti.

Any repeat occurrence of a character is removed from the string such that each character in ui occurs exactly once. In other words, if the character at some index j in ti occurs at a previous index < j in ti, then do not include the character in string ui.

Given s and k, print n/k lines where each line i denotes string ui.

**Example**

s = “AAABCADDE”

k = 3

There are three substrings of length 3 to consider: ‘AAA’, ‘BCA’ and ‘DDE’. The first substring is all ‘A’ characters, so u1 = ‘A’. The second substring has all distinct characters, so u2 = ‘BCA’. The third substring has 2 different characters, so u3 = ‘DE’. Note that a subsequence maintains the original order of characters encountered. The order of characters in each subsequence shown is important.

**Function Description**

Complete the merge_the_tools function in the editor below.

merge_the_tools has the following parameters:

string s: the string to analyze

int k: the size of substrings to analyze

Prints

Print each subsequence on a new line. There will be n/k of them. No return value is expected.

**Input Format**

The first line contains a single string, s.

The second line contains an integer, k, the length of each substring.

**Constraints**

- 1 <= n <= 10^4, where n is the length of s
- 1 <= k <= n
- It is guaranteed that n is a multiple of k.

**Sample Input 0**

STDIN Function ----- -------- AABCAAADA s = 'AABCAAADA' 3 k = 3 {codeBox}

**Sample Output 0**

AB CA AD {codeBox}

**Explanation 0**

Split s into n/k = 9/3 = 3 equal parts of length k = 3. Convert each ti to ui by removing any subsequent occurrences of non-distinct characters in ti:

t0 = “AAB” – u0 = “AB”

t1 = “CAA” – u1 = “CA”

t2 = “ADA” – u2 = “AD”

Print each ui on a new line.

### Merge the Tools in Python - Hacker Rank Solution

**1st Approach: Merge the Tools! HackerRank Python Solution**

```
# ========================
# Information
# ========================
# Name: Merge the Tools! in Python HackerRank
# Direct Link: https://www.hackerrank.com/challenges/merge-the-tools/problem
# Difficulty: Medium
# Max Score: 40
# Language: Pypy 3
# ========================
# Solution Start
# ========================
# Merge the Tools! in Python - Hacker Rank Solution
def merge_the_tools(string, k):
# your code goes here
temp = []
len_temp = 0
for item in string:
len_temp += 1
if item not in temp:
temp.append(item)
if len_temp == k:
print (''.join(temp))
temp = []
len_temp = 0
if __name__ == '__main__':
string, k = input(), int(input())
merge_the_tools(string, k)
#Merge the Tools! in Python - Hacker Rank Solution END
# MyEduWaves
```

**Disclaimer:**The above Problem (

**Python Merge the Tools!**) is generated by

**Hackerrank**but the Solution is Provided by

**MyEduWaves**. This tutorial is only for Educational and Learning purposes. Authority if any queries regarding this post or website fill out the contact form.

I hope you have understood the solution to this HackerRank Problem. All these three solutions will pass all the test cases. Now visit

**Merge the Tools in Python Hackerrank Problem**and try to solve it again.**All the Best!**

Tags:
HackerRank Python