I have figured out the bulk of the logic of this problem but i can't figure out why my code fails one of the tests. If somebody can help me that would be great. Here's my code:
n = int(input())
ans = input()
adrian = 'ABC'
bruno = 'BABC'
goran = 'CCAABB'
score_adrian = 0
score_bruno = 0
score_goran = 0
output = ''
for i in range(n):
if ans[i] == adrian[i % 3]:
score_adrian = score_adrian + 1
if ans[i] == bruno[i % 4]:
score_bruno = score_bruno + 1
if ans[i] == goran[i % 6]:
score_goran = score_goran + 1
if score_adrian > score_bruno and score_adrian > score_goran:
output = str(score_adrian) + '\nAdrian'
elif score_bruno > score_adrian and score_bruno > score_goran:
output = str(score_bruno) + '\nBruno'
elif score_goran > score_adrian and score_goran > score_bruno:
output = str(score_goran) + '\nGoran'
elif score_adrian == score_bruno and score_adrian > score_goran:
output = str(score_adrian) + '\nAdrian\nBruno'
elif score_adrian == score_goran and score_adrian > score_bruno:
output = str(score_goran) + '\nAndrian\nGoran'
elif score_goran == score_bruno and score_bruno > score_adrian:
output = str(score_goran) + '\nBruno\nGoran'
elif score_adrian == score_bruno and score_bruno == score_goran:
output = str(score_adrian) + '\nAdrian\nBruno\nGoran'
print(output)
thanks in advance :-)
Would this be simpler?
n = int(input())
ans = input()
adrian = 'ABC'
bruno = 'BABC'
goran = 'CCAABB'
score_adrian = 0
score_bruno = 0
score_goran = 0
output = ''
for i in range(n):
if ans[i] == adrian[i % 3]:
score_adrian = score_adrian + 1
if ans[i] == bruno[i % 4]:
score_bruno = score_bruno + 1
if ans[i] == goran[i % 6]:
score_goran = score_goran + 1
max_number = max(score_adrian, score_bruno, score_goran)
print(max_number)
if score_adrian == max_number:
print("Adrian")
if score_bruno == max_number:
print("Bruno")
if score_goran == max_number:
print("Goran")