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 :-)
01 Answer
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") 2