[Programmers] - 모의고사

오동훈·2021년 4월 9일
0

Programmers

목록 보기
21/64
post-thumbnail

1. Problem 📃

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

다음 문제는, 각각의 수포자들이 찍는 방식에 따라 더 많이 맞추는 사람을 반환하는 문제입니다.

2. Logic 👨‍🏫

  1. 각각의 패턴을 리스트로 작성해준다.
  2. 그 패턴에 따라 답안을 맞추게 되면 스코어 변수의 점수를 1씩 늘려준다.
  3. 스코어중에 제일 높은 점수와 제일 많이 맞춘 사람의 스코어를 비교해 같은 사람들을 답안에 추가해 반환해준다.

3. Code 💻

1. 내가 푼 코드

def solution(answers):
    answer = []
    one = [1, 2, 3, 4, 5]
    two = [2, 1, 2, 3, 2, 4, 2, 5]
    thr = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    
    score = [0, 0, 0]
    for i in range(len(answers)):
        if (one[i % 5] == answers[i]):
            score[0] += 1
        if (two[i % 8] == answers[i]):
            score[1] += 1
        if (thr[i % 10] == answers[i]):
            score[2] += 1
    
    for i in range(len(score)):
        if (max(score) == score[i]):
            answer.append(i+1)
    return answer

4. Feedback 📚

처음에 완전탐색이라고 했을때, 되게 어렵게만 생각하고 접근 했었는데 이렇게 패턴을 만들어서 접근하는 방식도 완전탐색에 속한다니 내가 너무 어렵게만 생각했던 것 같다. 언능 더 어려운 완전탐색 문제들도 접해보고 싶다

profile
삽질의 기록들🐥

0개의 댓글