[알고리즘]기초2-모의고사

sunnwave·2022년 6월 6일
0

알고리즘

목록 보기
23/47
post-thumbnail

모의고사

https://programmers.co.kr/learn/courses/30/lessons/42840

def solution(answers):
    answer = []
    
    arr1=[1, 2, 3, 4, 5]*2000
    arr2=[2, 1, 2, 3, 2, 4, 2, 5]*2000
    arr3=[3, 3, 1, 1, 2, 2, 4, 4, 5, 5]*2000
    
    arr1=arr1[:len(answers)]
    arr2=arr2[:len(answers)]
    arr3=arr3[:len(answers)]
    
    answer1=len([arr1[i] for i in range(len(answers)) if arr1[i]==answers[i]])
    answer2=len([arr2[i] for i in range(len(answers)) if arr2[i]==answers[i]])
    answer3=len([arr3[i] for i in range(len(answers)) if arr3[i]==answers[i]])
    
    max_value=max(answer1,answer2,answer3)
    
    if answer1==max_value:
        answer.append(1)
    if answer2==max_value:
        answer.append(2)
    if answer3==max_value:
        answer.append(3)

    return answer

👉🏻1,2,3번 수포자의 답을 answers의 길이에 맞춰 배열을 만든 후 비교

  • arr1,2,3을 각자의 규칙대로 반복 후 answers의 길이에 맞게 슬라이싱한다.
  • arr1,2,3 각각 for문을 이용해 answers와 맞는 답의 개수를 저장함
  • 답의 개수 중 최대값을 찾고 최대값과 answer1,answer2,answer3의 값을 비교하여 같으면 answer.append()한다.

❗ enumerate, cycle()

profile
조구마한 개발 기록 블로그

0개의 댓글

관련 채용 정보