coding test - python/Programmers

Programmers / 모의고사 / Python

sillon 2022. 3. 29. 19:00
728x90
반응형

 

*문제 출처는 프로그래머스에 있습니다.

문제 제목: 모의고사

문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/42840


풀이

def solution(answers):
    person1 = [1,2,3,4,5]
    person2 = [2,1,2,3,2,4,2,5]
    person3 = [3,3,1,1,2,2,4,4,5,5]
    
    result = []
    score = [0,0,0]
    
    for idx, answer in enumerate(answers):
        if answer == person1[idx%len(person1)]:
            score[0] +=1
        if answer == person2[idx%len(person2)]:
            score[1] += 1
        if answer == person3[idx%len(person3)]:
            score[2] += 1
        
    for idx, s in enumerate(score):
        if s == max(score):
            result.append(idx+1)
            
    return result

enumerate 함수

  • 리스트가 있는 경우 순서와 리스트의 값을 전달하는 기능

for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할때 enumerate 함수를 사용하면 매우 유용하다.  (출처: https://wayhome25.github.io/python/2017/02/24/py-07-for-loop/)

 


※ 알아야 할 것

- eumerate로 답을 구하는 방법

- 패턴을 저장하여 answer와 값을 비교하여 출력해야한다.

 

 

728x90
반응형