Change gender of string i.e toggle all the gender-specific words in the input string.
Input: “she is my sister” Output: “he is my brother”. There are two gender-specific words in this sentence:“she” and “sister”. After toggling gender specific words to their respective counterparts - “he” and “brother” : Gender specific words of the string are now changed.
- Maintain a hash-map which maps all the “female” words to the “male” words and all the “male” words to “female” ones.
- Then for each word in the string, we check whether this is a gender-specific word or not. If it is then we swap this word with its counterpart word. Else we don’t swap this word.
- All the words gets concatenated in a new string, which at the end is printed and is our required string.
Time Complexity: O(N^2), where N is the length of the string, as the ‘+’/ ‘append’ operator of the string can take upto O(N) time and assuming that lookup in the dictionary takes O(1) worse case time.
Auxiliary Space: Apart from the dictionary that maps all the words to its counterpart, we declare O(N) space for the new string, where N is the length of input string.
Scope for Improvement:
- We can add more words and their counterparts in the dictionary to increase the accuracy of the program. For example, we can add – “actor , actress” , “god , goddess” to our dictionary.
- A text file of words of all female and male words can also be imported.
- The program can be modified to become case insensitive.
This article is contributed by Rachit Belwariar . If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Change string to a new character set
- Zip function in Python to change to a new character set
- Lexicographically smallest string formed by appending a character from the first K characters of a given string
- Minimal moves to form a string by adding characters or appending string itself
- Find the longest sub-string which is prefix, suffix and also present inside the string
- String slicing in Python to check if a string can become empty by recursive deletion
- Create a new string by alternately combining the characters of two halves of the string in reverse
- Minimum deletions from string to reduce it to string with at most 2 unique characters
- Find length of longest subsequence of one string which is substring of another string
- Find the character in first string that is present at minimum index in second string
- Check if a string can be converted to another string by replacing vowels and consonants
- Minimum number of given operations required to convert a string to another string
- Given a string and an integer k, find the kth sub-string when all the sub-strings are sorted according to the given condition
- Find the count of palindromic sub-string of a string in its sorted form
- Queries to check if string B exists as substring in string A