스터디/알고리즘
모의고사
세졍
2024. 2. 21. 21:39
문제이해
답의배열이 주어졌을때 1,2,3번 수포자가 찍는방식으로 채점시
누가 가장 많이 맞췄는지 수포자 번호 출력
1.각 수포자가 맞힌갯수를 cnt1,2,3으로 만들고 arr에 담는다
2.arr에서 큰수를 구해서 그 인덱스번호+1 한 수를 arr2에 담는다
3 .enumerate() 이해 : 그 배열의 인덱스와 그 요소를 출력한다
my_list = ['apple', 'banana', 'cherry']
for index,value in enumerate(my_list):
print(index,value)
# 0 apple
# 1 banana
# 2 cherry
def solution(answers):
a1 = [1,2,3,4,5]
a2 = [2, 1, 2, 3, 2, 4, 2, 5]
a3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
arr = []
arr2 = []
N = len(answers)
max_v = 0
result = 0
cnt1 = 0
cnt2 = 0
cnt3 = 0
for i in range(N):
if answers[i] == a1[i%5]:
cnt1 += 1
if answers[i] == a2[i%8]:
cnt2+= 1
if answers[i] == a3[i%10]:
cnt3+=1
arr.append(cnt1)
arr.append(cnt2)
arr.append(cnt3)
max_v = max(arr)
arr2 = [i+1 for i ,val in enumerate(arr) if val == max_v]
return arr2