프로그래머스 - 모의고사

이숭인·2021년 6월 23일
0

알고리즘 문제풀이

목록 보기
3/17

1. 모의고사

풀이:
itertoolscycle 이용
1,2,3번의 수포자가 찍는 패턴확인

1번 - 1,2,3,4,5
2번 - 2,1,2,3,2,4,2,5
3번 - 3,3,1,1,2,2,4,4,5,5

  1. for, zip, cycle을 이용. (zip 안의 가장 작은 arr크기에 맞춰 for문 탐색)
  2. 정답의 개수를 저장하는 arr에 정답이 맞을때마다 +1
  3. 정답의 개수를 저장한 arr에 max()를 이용해 문제를 가장 많이 맞춘사람 찾기

코드:

from itertools import cycle

def solution(answers):
    answer = []

    one_arr = [1,2,3,4,5]
    two_arr = [2,1,2,3,2,4,2,5]
    three_arr = [3,3,1,1,2,2,4,4,5,5]
    answer_count_arr = [0,0,0]

    for (one,two,three,item) in zip(cycle(one_arr),cycle(two_arr),cycle(three_arr),answers):
        if one == item:
            answer_count_arr[0] += 1
        if two == item:
            answer_count_arr[1] += 1
        if three == item:
            answer_count_arr[2] += 1

    for (index,item) in enumerate(answer_count_arr):
        if item == max(answer_count_arr):
            answer.append(index+1)

    return answer
profile
iOS Developer

0개의 댓글