====== 모의고사 ====== ===== 풀이 ===== * 그냥 각 패턴을 적용해서 답을 만들었을때, 정답과 같은 답이 몇개인지 일일히 세어보는 것 외에 별 방법이 없다. O(n)이 걸린다. ===== 코드 ===== """Solution code for "Programmers 42840. 모의고사". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/42840 - Solution link: http://www.teferi.net/ps/problems/programmers/42840 """ import itertools PATTERNS = [ [1, 2, 3, 4, 5], [2, 1, 2, 3, 2, 4, 2, 5], [3, 3, 1, 1, 2, 2, 4, 4, 5, 5], ] def solution(answers): scores = [] for pattern in PATTERNS: score = sum(1 for student_answer, answer in zip(itertools.cycle(pattern), answers) if student_answer == answer) scores.append(score) return [i + 1 for i, score in enumerate(scores) if score == max(scores)] {{tag>프로그래머스 ps:problems:programmers:Level_1}}