Mutations in Python | HackerRank Solution

Today we are going to solve Mutations in Python Hacker Rank Solution.

Mutations in Python - Hacker Rank Solution

Problem

We have seen that lists are mutable (they can be changed), and tuples are immutable (they cannot be changed).
Let’s try to understand this with an example.
You are given an immutable string, and you want to make changes to it.

Example 1

>>> string = "abracadabra"

You can access an index by:

>>> print string[5]
a

What if you would like to assign a value?

>>> string[5] = 'k' 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

How would you approach this?

One solution is to convert the string to a list and then change the value.

Example 2

>>> string = "abracadabra"
>>> l = list(string)
>>> l[5] = 'k'
>>> string = ''.join(l)
>>> print string
abrackdabra

Another approach is to slice the string and join it back.

Example 3

>>> string = string[:5] + "k" + string[6:]
>>> print string
abrackdabra

Task

Read a given string, change the character at a given index and then print the modified string.

Input Format

The first line contains a string, S.

The next line contains an integer i, denoting the index location and a character c separated by a space.

Output Format

Using any of the methods explained above, replace the character at index i with character c.

Sample Input

abracadabra
5 k

Sample Output

abrackdabra

Solution – Mutations in Python – Hacker Rank Solution

def mutate_string(string, position, character):
    n = list(string)
    n[position] = character
    string = "".join(n)
    return string

if __name__ == '__main__':
    s = input()
    i, c = input().split()
    s_new = mutate_string(s, int(i), c)
    print(s_new)

Disclaimer: The above Problem (Mutations in Python) is generated by Hacker Rank but the Solution is provided by CodingBroz. This tutorial is only for Educational and Learning purposes.

Leave a Comment

Your email address will not be published. Required fields are marked *