HackerRankInterview QuestionsPythonPython InterviewRandom

HackerRank The Minion Game solution in python | python question solution

Kevin and Stuart want to play the ‘The Minion Game‘.

Game Rules

Both players are given the same string, .
Both players have to make substrings using the letters of the string .
Stuart has to make words starting with consonants.
Kevin has to make words starting with vowels.
The game ends when both players have made all possible substrings.

Scoring
A player gets +1 point for each occurrence of the substring in the string .

For Example:
String  = BANANA
Kevin’s vowel beginning word = ANA
Here, ANA occurs twice in BANANA. Hence, Kevin will get 2 Points.

For better understanding, see the image below:

Your task is to determine the winner of the game and their score.

Function Description

Complete the minion_game in the editor below.

minion_game has the following parameters:

  • string string: the string to analyze

Prints

  • string: the winner’s name and score, separated by a space on one line, or Draw if there is no winner

Input Format

A single line of input containing the string .
Note: The string  will contain only uppercase letters: .

Constraints


Sample Input

BANANA

Sample Output

Stuart 12
Vowels are only defined as . In this problem,  is not considered a vowel.

Problem solution in Python 2 programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
vowels = ['A', 'E', 'I', 'O', 'U']
s = raw_input()
a = 0
b = 0
for i, c in enumerate(s):
if c in vowels:
b += len(s) - i
else:
a += len(s) - i

if a == b:
print "Draw"
elif a > b:
print 'Stuart {}'.format(a)
else:
print 'Kevin {}'.format(b)

Problem solution in Python 3 programming.

def minion_game(string):
vowels = 'AEIOU'
Stuart_score, Kevin_score = 0, 0
length = len(string)
for start_idx in range(length):
score = length - start_idx
if string[start_idx] in vowels:
Kevin_score += score
else:
Stuart_score += score
if Stuart_score == Kevin_score:
print('Draw')
if Stuart_score > Kevin_score:
print('Stuart {}'.format(Stuart_score))
if Stuart_score < Kevin_score:
print('Kevin {}'.format(Kevin_score))

Problem solution in pypy programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT

input_string = raw_input()

vowels = ['A','E','I','O','U']

Kevin_score = 0
Stuart_score = 0

for i in range(len(input_string)):
if input_string[i] in vowels:
Kevin_score = Kevin_score + (len(input_string) - i)
if input_string[i] not in vowels:
Stuart_score = Stuart_score + (len(input_string) - i)

if Kevin_score == Stuart_score:
print "Draw"
if Kevin_score > Stuart_score:
print "Kevin",Kevin_score
if Kevin_score < Stuart_score:
print "Stuart",Stuart_score

Problem solution in pypy3 programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
s=input()
vv='AEIOU'
l=len(s)
c=0
v=0
for i in range(l):
if s[i] in vv:
v+=l-i
else:
c+=l-i
if c>v:
print ('Stuart',c)
elif c==v:
print ("Draw")
else:
print ('Kevin',v)




Leave a ReplyCancel reply

Exit mobile version